CSS_级联和继承
2016-11-06
《CSS入门经典》第七章
1.在HTML中使用CSS样式表的三种方式:
(1)内联的样式表。
eg:<em style="background-white">LIN</em>
(2)嵌入式样式表。
即在<head>标签内嵌入<style>标签及具体的样式设置内容。
(3)外部链接的样式表。
2.级联的顺序
(1)
首先要根据起源(origin)将规则分类。
具体优先顺序如下:
页面作者(author)设置的规则 > 用户(user)规则 > 浏览器(browser)规则
(2)
然后是基于选择符和特殊性的规则排序:
1.内联样式表的优先级最高。
2.id选择符,当有多个id选择符时,具有id选择符多的规则胜出。
3.如果没有id选择符,或者数量相同,那么规则中有最多类或伪类的规则有较高优先级。
4.如果类(或是没有类),那么规则中有最多元素数量的,优先级较高。
5.如果id,class,和元素数量都相同,则最近声明的原则有最高优先级。
(3)嵌入式样式表和外部链接样式表的优先级,当其他权重相当时,最近声明的规则优先级高。
即<head>标签中,link标签与style标签的先后顺序,第二个声明的优先级高。
3.级联和HTML属性
HTML中的align,color,face,vlink,background也会影响页面的外观。
<img> 标签的 align 属性定义了图像相对于周围元素的水平和垂直对齐方式。
HTML 4.01 不推荐使用 align 属性,XHTML 1.0 Strict DTD 不支持该属性,同时 HTML 5 也不再支持该属性。
color 属性规定 font 元素中文本的颜色。
在 HTML 4.01 中,不赞成使用 font 元素的 color 属性;在 XHTML 1.0 Strict DTD 中,不支持 font 元素的 color 属性。
请使用 CSS 代替。
CSS 语法:<p style="color:red">
[
<font> 规定文本的字体、字体尺寸、字体颜色。
eg:<font size="3" color="red">
This is some text!</font>
<font size="2" color="blue">
This is some text!</font>
<font face="verdana" color="green">
This is some text!</font>
在 HTML 4.01 中,font 元素不被赞成使用。
在 XHTML 1.0 Strict DTD 中,font 元素不被支持。
]
face 属性规定 font 元素中文本的字体。
eg:<font face="verdana"
>This is some text!</font>
在 HTML 4.01 中,不赞成使用 font 元素的 face 属性;在 XHTML 1.0 Strict DTD 中,不支持 font 元素的 face 属性。
请使用 CSS 代替。
CSS 语法:<p style="font-family: verdana">
vlink 属性文档中已被访问链接的颜色。
eg:<body vlink="red"
>
在 HTML 4.01 中,不赞成使用 body 元素的 vlink 属性;在 XHTML 1.0 Strict DTD 中,不支持 body 元素的 vlink 属性。
请使用 CSS 代替。
CSS 语法(在 <head> 部分):<style>a:visited {color: #FF0000}</style>
这些属性与css规则相冲突时,总是被css规则覆盖。
4.在规则中使用!important
用!important 指定的规则比其他规则都重要。
eg: em { color :bule !important;}
注意:用户首创的!important规则优先于作者的规则。
用户定义的样式表应该声明是!important。
5. @import规则,导入文件。
eg:h1 {color:red;}
@import url(“style.css”);
/*style.css*/
h1{color:green;}
以上代码,最终h1为红色。因为默认使用导入的样式表出现在原始样式表规则之前。
6.继承
(1)注意display,border,margin,padding属性是不继承的。
(2)background-color不是继承,在没有设置时,它的默认值是特别值transparent。
(3)继承相对值时,在传递给子代之前,首先计算该值。
(4)指定继承:inherit特殊值
eg:div .standout{ border :1px solid blue ;}
div .standout{ border:inhert;}
注意:css 1发行时,作者的!important样式优先于用户的!important样式。
css2中,用户的!important样式优先于作者的!important样式。