一、基础法则:
- 类名的第一个字符不能使用数字,否则无法在Firefox中起作用;
- 不要在属性值和单位之间留空格,否则在Firefox或Netscape中无法正常工作。
二、背景(background):
- background-color不能继承,默认值是transparent。若一个元素未指定背景色,其背景为透明,其祖先元素的背景则可见,由此显现出来;
- background-position中若只出现一个关键字,则默认另一个是center;若只提供一个百分数,所提供的值作为水平值,垂直值默认为50%;若指定长度值,则是元素内边距到图像左上角的偏移量。
三、文本(text):
- 所有块级元素都可应用text-indent,但无法应用于行内元素。若想为行内元素实现“缩进”,可用左边距。text-indent中若使用百分比,则是以父元素宽度为基数;若使用em,则是以自身字号大小为基数;
- word-spacing通常用于英文字幕,而letter-spacing可以改变字母和汉字之间的间距;
- text-shadow用于设置文本阴影,CSS2包含该属性,但CSS2.1未保留,CSS3又复原并强化了该属性;
- font-variant可以设定小一号的大写字母;
- font-weight中的关键字400等于normal,700等于bold。
四、边框(border):
- 边框的样式,除了常用的solid、dotted、dashed外,还有double、groove、ridge、inset、outset等值可选;
- 如果没有为边框声明颜色,它将与元素的文本颜色相同。如果元素没有任何文本,假设是一个表格,该表的边框就是其父元素的文本颜色。
五、边距(margin):
当两个垂直外边距相遇时,外边距将合并,高度等于较大者。当一个元素在另一个元素内部时,假设没有内边距或者边框的分隔,它们的上下边距也会发生合并。假如一个空元素又外边距,没有边框和内边距,上下边距就会发生合并。注:只有普通文本流中的块框才会发生合并,行内框、浮动框或者绝对定位之间的外边距不会合并。
六、定位(position):
- 在使用相对定位时,无论元素是否进行移动,它仍然占据原来的空间。因此,移动元素会导致它覆盖其他框;
- 绝对定位的元素,其位置相对于最近的已定位的祖先元素,如果没有已定位的祖先元素,那么它的位置相对于最初的包含块。根据用户代理不同,最初的包含块可能是画布或<html>元素;
七、浮动(float):
浮动元素会生成一个块级框,而不论它本身是何种元素。如果浮动元素非替换元素,则要指定一个明确的宽度,否则它们会尽可能窄。假如在一行上只有极少的空间可供浮动元素排列,那么这个元素会跳至下一行,这个过程会持续到某一行有足够的空间为止。