很多网站已经不满足于一级标题的展示,可能很多的时候有二级标题,三级标题等等。
那么如何设置二级标题以及如何把二级标题做的好看呢。
下面的代码中注意:
1.为了让二级标题有渐隐渐现的感觉,用了transition样式
2.二级标题的定位始终是一个困扰我好久的难题。
要确保一级标题有position属性(不能没有也不能设为static),只有一级标题(父级标题)设了position属性,二级标题的position属性才能有相对于一级标题定位的效果,否则二级标题相对于谁定位呢?!!怎么能确保定位是否准确呢?!!
这里关于position的问题确实很难搞明白,我的另外一篇博客有专门讲如何使用position属性以及static,relative,absoulte,fixed之间的区别。
好了,讲了上面的注意事项,下面就是贴代码了,我在代码中也写了很多注释,便于理解和阅读。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>二级标题特效</title> <style> .menu a{ color: #999; text-decoration:none; font-family:‘Droid Serif‘, serif; font-style:italic; font-size:18px} .menu ul{list-style:none;} /*一级标题的样式规定li*/ .menu ul li{ float:left; position: relative; /*可以在这里看出给一级标题设置了position属性,值为relative*/ margin-left:0px; width:80px; text-align:left; padding:5px 10px 5px 10px; border:0px #FF0000 solid;} /*二级标题的样式规定ul*/ .menu ul li ul{ visibility: hidden; -webkit-backface-visibility:hidden; /*可以在这里看出给一级标题设置了position属性,值为absoulte,这样才可以定位,这还是要归功于父标题也定义了position属性*/ position: absolute; padding-top: 8px; left:-41px; opacity: 0; -webkit-opacity:0; border:0px solid #000; transition: all .5s ease-in-out; } /*二级标题的样式规定li*/ .menu ul li ul li{ margin-left: 0px; width:180px; color:#999; background-color:#FFF; } /*一级标题鼠标放上去一级标题规定样式*/ .menu li:hover a, .menu li:hover{ color:#FFF; background-color:#00F} /*一级标题鼠标放上去二级标题显示*/ .menu ul li:hover ul, .menu ul a:hover ul{visibility:visible;opacity: 1;} /*一级标题鼠标放上去二级标题规定样式*/ .menu ul li:hover li, .menu ul li:hover li a{ color:#999; background-color:#FFF;} /*二级标题鼠标放上去效果*/ .menu ul li ul li:hover a, .menu ul li ul li:hover{ color:#FFF; background-color:#00F} </style> </head> <body> <div class="menu"> <ul> <li><a href="#">Home</a></li> <li><a href="#">Pages</a> <ul> <li><a href="#">Buttons</a></li> <li><a href="#">List Styles</a></li> <li><a href="#">Alert Boxes</a></li> </ul> </li> <li><a href="#">Feature</a> <ul> <li><a href="#">Typography</a></li> <li><a href="#">Shortcodes</a></li> </ul> </li> </ul> </div> </body> </html>