上一篇: http://blog.csdn.net/u011344924/article/details/48784141
一、特殊性,继承和层叠
1.特殊性
选择器的特殊性由选择器本身的组件确定,特殊性值表述为4个部分,如:0,0,0,0
对于选择器中给定的各个ID属性值,加0,1,0,0
对于选择器中给定的各个类属性值,属性选择或伪类,加0,0,1,0
对于选择器中给定的各个元素和伪元素,加0,0,0,1
结合符和通配选择器对特殊性没有任何贡献
重要声明 !important标志为重要,!important总是放在声明的最后,即分号前面。如果放错位置,整个声明都将无效。
所以优先级为 !important > 内联声明 > ID > class > 元素 > 通配
2.继承
样式不仅应用到指定的元素,还会应用到它的后代元素。当然并不是所有属性都可以继承。
一般地,大多数框模型属性(包括外边距,内边距,背景和边框)都不能继承。
3.层叠
按权重和来源排序:读者的重要声明>创作人员的重要声明>创作人员的正常声明>读者的正常声明>用户代理声明
按特殊性排序:如果权重相同则按特殊性排序,最特殊的声明最优先
按顺序排序:如果权重,来源,特殊性完全相同,那么在样式表中后出现的一个会胜出
二、文本属性
text-indent文本缩进:元素的第一行缩进一个给定长度,一般用于块级元素。该属性可以继承
text-align水平对齐:只用于块级元素,用于设置元素中的文本行相互间的对齐方式。
line-height行高:指定文本行之间的垂直间隔。该值从父元素继承时,要从父元素计算,而不是在子元素上计算。使用line-height缩放因子解决继承问题。
vertical-align垂直对齐:基线,上标下标,底端,顶端,居中,百分数,长度
word-spacing字间隔:修改字间间隔
letter-spacing字母间隔:修改字母间隔
text-transform文本转换:capitalize对每个单词首字母大写,uppercase,lowercase,none
text-decoration文本装饰:该属性不能继承
text-shadow文本阴影
white-space处理空白符
direction文本方向:ltr,rtl,inherit
三、视觉模型
1.基本框
盒子模型的宽度为:content+padding+border+margin
设置一个元素的宽width一般为设置content的大小
auto只能用来设置margin,width和height的值,可以用auto弥补实际值与所需总和的差距。
如果两个外边距都设置为auto,则会将它们设置为相等的长度,因此将元素在其父元素中居中(width=?px;margin-left:auto;margin-right:auto)
(text-align只应用于块级元素的内联内容)
可以看出,text-align:center居中与margin:0 auto居中的差异。margin:0 auto居中主要是将整个块级元素在其父元素中的居中,而text-align:center居中主要是将块级元素中的内容在改元素中居中显示。
合并垂直外边距:相邻外边距会沿着竖轴合并,即两个外边距中较小的一个会被较大的一个合并
如果一个边框没有样式,就没有宽度。如果要创建一个不可见的边框,就引入边框颜色值transparent,这个值用于创建有宽度的不可见的边框。