标签:
http://blog.sina.com.cn/s/blog_41698c170100oiau.html
clear
clear声明主要是对块元素的浮动(float)定义的,意思是取消浮动,属性主要有none | left |right | both 这个比较好理解:比如,在一个大容器内你定义了个元素float(不管它是float:left或right),那么后面的元素会与它一起分享大容器剩下的宽度,如果你想不和float一起同行显示,又不想在浏览器是错位,那就得用到clear:both 意思就是取消所有浮动!
!important
!important 这也是一个hack,作用是提高指定样式规则的应用优先权,比如IE对盒之间距离的解释的bug,因为在IE当中与Mozilla之间显示会相差2px,那我们解决这个bug时可以这样class {padding-top:8px !important; padding-top: 6px; }
<p style="color: red !important; color: blue;">其实我不想走........</p> 在IE当中文本颜色是blue,在Firefox等当中显示为red.
ps:个人认为还是尽量少用hack,随着各浏览器的升级,对css的解si也会随着变化!
display
display:block;在对象前后都将添加一个新行。
display:inline 首先我们要明确,display:inline;与float:left;正确含义。display:inline;(内联)《CSS权威指南》中文字显示:任何不是块级元素的可见元素都是内联元素。其表现的特性是“行布局”形式,这里的“行布局”的意思就是说其表现形式始终以行进行显示。比如,我们设定一个内联元素border-bottom:1px solid #000;时其表现是以每行进行重复,每一行下方都会有一条黑色的细线。如果是块级元素那么所显示的的黑线只会在块的下方出现。
当然这看起来不像是display:inline;与float:left;的区别所在,但是当理解了float:left;的特性那么我们就清楚到底是怎么回事了。float:left;(左浮动)他使得指定元素脱离普通的文档流而产生的特别的布局特性。并且FLOAT必需应用在块级元素之上,也就是说浮动并不应用于内联标签。或者换句话来说当应用了FLOAT那么这个元素将被指定为块级元素。
那么我们很清楚了,内联(display:inline;)元素不能设置宽高,因为内联属于行布局,其特性是在一行里进行布局,所以不能被设定宽高。
标签:
原文地址:http://www.cnblogs.com/hongyedeboke/p/5790011.html