CSS清除浮动的方法与CSS选择器
作者: 本站原创 发布时间: 浏览: 次
DIV+CSS是网站建设的主要设计形式,掌握并不难,达到同样效果,代码写得越少越好,这完全是靠个人敲代码敲出来经验。秀站网前面写过一篇骨灰级极简主义代码优化,简单介绍了极简代码的基本设计要素。下面举例最少的代码实现清除浮动,最常用的是主导航。给出两种清除浮动形式如下:
<style> .clear{clear:both;display:block;width:0;height:0;margin:0;border:0} .clearfix:after{clear:both;display:block;content:"\20"} .fl{float:left} .fr{float:right} nav ul li{float:left;} nav ul li a{padding:0 10px;line-height:40px;font-size:14px;color:#555} nav ul li a:hover{color:#c00} </style> <header class="clearfix" id="top"><!--清除浮动形式1--> <img src="images/logo.png" alt="网站logo" class="fl"/> <nav class="fr"> <ul class="menu"> <li><a href="#">栏目1</a></li> <li><a href="#">栏目2</a></li> <li><a href="#">栏目3</a></li> <p class="clear"></p><!--清除浮动形式2--> </ul> </nav> </header>
第一种用到的是伪类选择器 :after,意思是:在被选元素的内容后面插入内容,一般格式:
.clearfix:after{clear:both;display:block;content:"内容;}
另一种对应的是:before,意思是:在被选元素的内容前面插入内容。格式和 :after一样,IE6、IE7不支持。
必须掌握的其他CSS选择器
* :通用选择器(IE6+,Firefox,Chrome,Safari,Opera)
选择的是全部元素,在做兼容性、字体时非常好用。
*{margin:0;padding:0;font-family:"Microsoft Yahei"}
用于子选择器,下面是id为main下的所有元素都添加了font-size:14px。
#main *{font-size:14px}
#id:id选择器(IE6+,Firefox,Chrome,Safari,Opera)
#top{background:#eee}
.class:类选择器(IE6+,Firefox,Chrome,Safari,Opera)
.clear{clear:both}
x y:默认标签选择器(IE6+,Firefox,Chrome,Safari,Opera)
ul li{float:left} ul li a{color:#c00}
如果是类选择器结合默认标签可以这样写
.menu a{display:block}
x:visited,x:link,x:hover:伪类选择器(IE7+,Firefox,Chrome,Safari,Opera)
a:link{color:#c00;} a:visited{color:#555} a:hover{decoration:underline}/*在IE6下,只能用于a标签*/
x + y :毗邻元素选择器(IE7+,Firefox,Chrome,Safari,Opera)
ul + p{color:#c00}
x > y:子元素选择器(IE7+,Firefox,Chrome,Safari,Opera)
#top > ul li{border:1px solid #eee}
用在栏目下的子栏目的例子,这选择器影响到的是栏目1的<li>标签,而影响不到该栏目下的子栏目的<li>标签,如果样式写成
#top ul li{border:1px solid #eee}
则影响到#top下的全部<li>标签。
<header id="top"> <ul> <li> <a href="#">栏目1</a> <ul> <li><a href="#">子栏目1</a></li> <li><a href="#">子栏目2</a></li> </ul> </li> </ul> </header>
x:nth-child(n),x:nth-last-child(n):匹配元素中从头数第几个标签,后面是倒序匹配(IE9+,Firefox 3.5,Chrome,Safari,Opera)
li:nth-child(3){color:#c00}/*匹配的是第三个li标签*/ li:nth-last-child(3){color:#c00}/*匹配的是倒数第三个li标签*/
以上是最常用的选择器,其他选择器几乎用不到,感兴趣的可以网上自己搜一下。
上一篇:CSS3各种角度三角形可旋转动画