当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > css写菜单:简洁注释版

CSS样式表
line-height使文本居中的3像素bug问题
IE8.0Beta比较不错的功能:WebSlices
IE8、IE7、IE6、FF简单的CSS HACK测试
Web前端开发的Firefox插件
CSS3教程:background-clip和background-origin
CSS教程:使用ul进行网页的多列布局
CSS盒模型制定网页的宽度和高度的原理
CSS:何制作一个向各个方向延展box?
CSS高级技巧:CSS Sprites
CSS高级技巧:图片替换
CSS高级技巧:文字环绕图片
CSS样式表教程:screen媒体类型的作用
css教程:美化网页段落的排版
网页注册表单的网页设计技巧
CSS控制表格文字样式的研究
dl,dt,dd,ul,li,ol区别及应用
英文教程:鼠标悬停(hover)效果
CSS制作的三款漂亮的网页表单
CSS教程:行高line-height属性(2)
CSS:闭合元素和浮动元素的差别

CSS样式表 中的 css写菜单:简洁注释版


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 126 ::
收藏到网摘: n/a

这里是简洁版,主要把 [ 显示/隐藏 ] 效果给剥离出来给大家研究。
主要是利用了a:hover[ie],li:hover[非ie]的状态来做出显示/隐藏菜单的效果。
关键之处:
程序代码
<!--[if IE 7]><!--></a><!--<![endif]-->
这一段注释表示:只有非IE浏览器和IE7才能读取到 </a>
这样在非IE浏览器及IE7版本的浏览器中读取到的html是:
程序代码
<li><a href="#">导航</a>
<ul><li>二级导航</li></ul>
</li>
程序代码
<!--[if lte IE 6]></a><![endif]-->
这一段注释代表:只有IE6以及IE6以下版本的浏览器才能读取到 </a>
而在IE6以及IE6以下版本的浏览器中读取到的html就是:
程序代码
<li><a href="#">导航
<ul><li>二级导航</li></ul>
</a>
</li>
有些朋友可能要问:为什么要搞的那么复杂,而不都用链接来包含二级列表呢,那样就只用写a:hover就可以了,代码简单多了。
我个人觉得:
玩标准就要尽可能的去遵循语义。
在IE6以及以下版本中由于不支持a以外标记的hover伪类,所以目前来说只有这个办法能达到类似的目的,对着IE6...只好放弃语义了。
但我们可不要为了一个IE6而坏了整锅汤哦,所以有些事情虽然麻烦了点,但还是要做的~
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

注意里面是分段的,[ 随意发挥 ] 。俺先来发挥一下~ (原先没注意兼容,现在兼容了...)
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]