首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

Simple jQuery Dropdowns导航栏的CSS学习小结

2012-10-07 
Simple jQuery Dropdowns导航栏的CSS学习总结从网上下载了一个名为Simple JQuery Dropdowns的导航栏,原来

Simple jQuery Dropdowns导航栏的CSS学习总结

从网上下载了一个名为Simple JQuery Dropdowns的导航栏,原来是使用jQuery实现的,自己整理了一下,去掉了一些JS代码和CSS,尽量简化了一下,并加上自己学习时的注释,发出来大家共享!

自己整理后的代码放在附件中...

原代码和demo:http://css-tricks.com/simple-jquery-dropdowns/

效果:


Simple jQuery Dropdowns导航栏的CSS学习小结

html页面引入(也可不引入,后面讲):

<script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>   <script type="text/javascript" language="javascript" src="js/jquery.dropdownPlain.js"></script>

?

具体代码:

<body><div id="page-wrap"> <img src="images/title.png" alt="Simple jQuery Dropdowns导航栏的CSS学习小结" />       <p></p>      <ul src="/img/2012/09/19/2311243836.png">
?Css部分:

?

整体部分:

* { margin: 0; padding: 0; }body{ font: 14px Helvetica, Sans-Serif; }   /* 全局文本字体*/#page-wrap{ width: 800px; margin: 25px auto; }    /* 此处若不设置margin,效果图会紧靠左上角*/a{ text-decoration: none; }ul{ list-style: none; }        /* ul不显示前面的实心圆*/p                                   { margin: 15px 0; }  

?注意#page-wrap中margin的使用:


Simple jQuery Dropdowns导航栏的CSS学习小结

第一层:

/* LEVEL ONE*/ul.dropdown                         { position: relative; }    /* 相对于外层的page-wrap ,也可不要*/ul.dropdown li                      { font-weight: bold; float: left; background: #ccc; }  /* #ccc灰色*/ul.dropdown li a                    { display: block; padding: 4px 8px; border-right: 1px solid #333;   color: black; }ul.dropdown li:last-child a         { border-right: none; } /* Doesn't work in IE */ul.dropdown li                           {position: relative; }ul.dropdown li:hover                { background: #F3D673; color: black; } /*  #F3D673就是显示的黄色*/

?说明:

/*Level one :li设置float:left : 为了使导航文字横排li a 设置padding:  为了是导航文字分开,否则其紧挨着li 设置position 为relative:  为了让子项相对于父项显示,而不是相对于窗口*/

?

/* 1、li悬浮时,其下ul显示    li:hover > ul 2、注意left/top是ul参考上级,并且定义了position才有用 3、display放到   a 上才有效果,padding也放 a 上 4、注意边框是加载 li 上     border:1px solid black;border-width:0 1 0 0; 5、注意第一层li的position为relative,不定义其下拉无法显示 后面各层position都是absolute */
?

?

第二层:

??????? 第二层主要设置显示和位置:

/* LEVEL TWO*/ul.dropdown ul { width: 220px; visibility: hidden; position: absolute; top: 100%; left: 0; }/* 二级默认隐藏*/ul.dropdown li:hover > ul { visibility: visible; }   /* 鼠标悬浮在li上时,其子ul显示*/ul.dropdown ul li { font-weight: normal; background: #f6f6f6; color: #000;   border-bottom: 1px solid #ccc; float: none; }                                      /* IE 6 & 7 Needs Inline Block */ul.dropdown ul li a{ border-right: none; width: 100%; display: inline-block; } 
?

第三层:

?????? 设置位置即可,其悬浮样式在第一层最后已设置

?

/* LEVEL THREE*/ul.dropdown ul ul { left: 100%; top: 0; }

?上面的css配完后,其实效果就已经出来了,如下图,但是大家注意到没,上面第二层后面没有东西,乍一看,我们不知道这项还有下拉菜单,因此就需要使用jQuery为其添加一个箭头(其实不使用jQuery也可以,不过因为它方便点,呵呵)。


Simple jQuery Dropdowns导航栏的CSS学习小结

引入后,为包含第三层的第二层后面加入箭头:

$(function(){         $("ul.dropdown li ul li:has(ul)").find("a:first").append(" &raquo; ");});

?
Simple jQuery Dropdowns导航栏的CSS学习小结

具体就是这些,都是自己的理解,有误之处,欢迎大家拍砖。

?

1 楼 y14734817777 2011-06-04   你写的代码只能在ie7+才能用,其他浏览都用不了。能不能给个兼容性好的代码 2 楼 uule 2011-06-11   我在IE8和火狐中都可以用啊。。。

热点排行