css要点
一、优先显示的内容要排在文档流的前面。
二、一个被浮动的框式组件必须要具有明确的宽度值。如果这里不指定,那么这一行的宽度将会仅仅和其内容所要求的宽度值一样。
三、应当尽力选择最简洁、最富有意义的结构。例如,一个定义列表DL可以包含多个定义条目,并且定义列表可以用于别的应用。比如文字和图片的混排。
四、使用“反向浮动”使元素位于容器的两端,而不用顾及它们在HTML中的位置。
五、骆驼命名法用于区分不同单词,划线用于表示从属关系。
六、垂直方向相邻的margin会重合。
七、优先级:内联样式表(权重值1000) > ID选择器(权重值100) > 类选择器(权重值10) > 标签选择器(权重值1)。当使用子选择器时,权重为所有选择器的权重值相加。当类选择符的优先级相同时,遵循就近原则(选择符定义的先后顺序,而不是HTML标签里类名的先后顺序)。为保证样式容易被覆盖,容易维护,应尽可能降低权重。
八、A标签四种状态的定义顺序应为::link , :visited , :hover , :active 。
九、haslayout是IE浏览器为解析盒模型而设计的一个专有属性,它的设计初衷是用于块级元素,如果触发行内元素的haslayout,就会让行内元素拥有一些块级元素的特性,也就是“display:inline-block”。
九、
十、对于IE浏览器:通常用“zoom:1”来触发haslayout,以解决IE的Bug。这种方式无效时,用“position:relative”。
十一、行内元素在水平方向上的边距和补白会起作用,垂直方向上的不会。
十二、position:relative,position:absolute都会使元素脱离文档流,其中position:relative仍会占用文档流中的位置。Float属性并没有脱离文档流。position:absolute,float都会使元素的display变为inline-block。就算显式设置display为其它属性仍然无效。
十三、设置负边距可以让相邻位置的元素产生重叠,后出现的标签浮于先出现的标签之上。
十四、浏览器解析网页时,不论z-index取值如何,窗口类型的元素会优先于非窗口类型的元素显示在页面最顶端。IE下的object和火狐下的embed标签有wmode属性,用于指定对象是否为窗口类型。