CSS样式总结
CSS: Cascading Style Sheet,层叠样式表
Css由三部分组成:选择符、样式属性、值;
基本语法:选择符 {样式属性:值;样式属性:值.....}
一,选择器
常用的选择器有:标签选择器、class选择器(类选择器)、id选择器、后代选择器、 组合选择器和并列选择器等等。
1.多元素的组合选择器:
1、并列选择器(E,F,G,...)
这类选择器之间用逗号作分割,能匹配选择器列出的所有标签元素。
2、后代选择器(E F; E>F)
E F,标签之间用空格隔开,表示匹配E标签内所有F标签,所匹配的F标签不仅仅是E标签的儿子,还有可能是E标签的孙子,或者曾孙、从孙等等。
E>F标签匹配所有为E标签儿子的F标签。
3、兄弟选择器(E+F;E~F)
E~F选择其中F标签无需紧紧跟随E标签后面第一个,如果需要实现这样的一个功能可以用E+F选择器。对于IE浏览器来说只有IE6以上的版本才支持该选择器。
2.属性选择器
E[attribute] 匹配所有具有attribute属性的E元素,不考虑它的值 input[cheacked];
E[attribute=value] 匹配所有attribute属性等于“value”的E元素; input[type=”text”];
3.伪类选择器
E:first-child 匹配父元素的第一个子元素E
E:last-child 匹配父元素的最后一个子元素
E:nth-child(n) 匹配其父元素的第n个子元素,n从1开始计算(p:nth-child(odd) {color:#f00;}p:nth-child(even) {color:#f00;}IE不支持)
E:hover 匹配鼠标悬停其上的E元素
E:focus 匹配获得当前焦点的E元素
在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。a:active 必须被置于 a:hover 之后,才是有效的。
二,选择器优先顺序
CSS优先级,即是指CSS样式在浏览器中被解析的优先原则,默认为以下顺序:
1 浏览器缺省设置
2 外部样式表
3 内部样式表(位于 <head> 标签内部)
4 内联样式(在 HTML 元素内部)
同时,css会通过比较选择器数字的大小来获取优先级的高低
标签:1
类,属性选择器(比如 li[id=red]):10
ID:100
三,可继承的属性
CSS的样式具备层叠性和继承性,规则的声明可以按照如下顺序:
5 常用标记
6 常用类
7 布局类
8 导航类
9 表格类
10 表单类
11 组件类
所有元素可继承:cursor。
内联元素可继承:letter-spacing、line-height、color、font、text- decoration、text-transform。
块状元素可继承:text-indent和text-align。
四,盒子模型
盒子模型有两种,分别是 IE 盒子模型和标准 W3C 盒子模型。他们对盒子模型的解释各不相同,IE和标准 W3C 盒子模型不同的是:IE 盒子模型的 content 部分包含了 border 和 pading。那应该选择哪中盒子模型呢?当然是“标准 W3C 盒子模型”了。怎么样才算是选择了“标准 W3C 盒子模型”呢?很简单,就是在网页的顶部加上 DOCTYPE 声明。如果不加 DOCTYPE 声明,那么各个浏览器会根据自己的行为去理解网页。