第三章 CSS入门
3.3 CSS高级特性
3.3.1 CSS复合选择器
1.标签指定是选择器
又称交集选择器,有两个选择器组成,其中第一个为标记选择器,第二为class选择器或id选择器,两个选择器之间不能有空格。例:p#one或h3.special
2.后代选择器(与层级关系有关)后代选择器用来选择元素或元素的后代,其写(1)法就是把外层标记写在前面,内层标记写在后面,中间用空格分开。当标记发生嵌套时,内层标记就成为外层标记的后代
(2)如果需要加入更多的元素,只需在元素之间加上空格即可
3.并集选择器
(1)是各个选择器通过逗号连接而成的,任何形式的选择器(包括标记选择器、class选择器、id选择器等),都可以作为并集选择器的一部分
(2)如果某些选择器定义的样式完全相同,或部分相同,就可以利用并集选择器为它们定义相同的CSS样式
3.3.2 CSS层叠性和继承性
1.层叠性
所谓层叠性是指多种CSS样式的叠加。
比如先给某个标签指定了内部文字颜色为绿色,接着又指定了颜色为黑色,此时出现一个标签指定了相同样式不同值的情况,这就是样式冲突。
一般情况下,如果出现样式冲突,则会按照CSS书写的顺序,以最后的样式为准。
CSS最后的执行口诀:长江后浪推前浪,前浪死在沙滩上。
2.继承性
所谓继承性是指书写CSS样式表时,子标签会继承父标签的某些样式,如文本颜色和字号。
简单的理解就是:子承父业
CSS最后的执行口诀:龙生龙,凤生凤,老鼠生的孩子会打洞。
注:
恰当地使用继承可以简化代码,降低CSS样式的复杂性。但是,如果在网页中所有的元素都大量继承样式,那么判断样式的来源就会很困难,所以对于字体、文本属性等网页中通用的样式可以使用继承。例如,字体、字号、颜色、行距等可以在body元素中统一设置,然后通过继承影响文档中所有文本。
并不是所有的CSS属性都可以继承,例如,下面的属性就不具有继承性:边框、外边距、内边距、背景、定位、元素高属性。
3.3.3 CSS优先级
标记选择器权重:1
类选择器权重:10
id选择器权重:100
初学者注意的问题
1 继承样式的权重为0。即在嵌套结构中,不管父元素样式的权重多大,被子元素继承时,他的权重都为0,也就是说子元素定义的样式会覆盖继承来的样式。
2 行内样式优先。应用style属性的元素,其行内样式的权重非常高,可以理解为远大于100。总之,他拥有比上面提高的选择器都大的优先级。
3 权重相同时,CSS遵循就近原则。也就昰说靠近元素的样式具有最大的优先级,或者说排在最后的样式优先级最大。
4 CSS定义了一个!important命令,该命令被赋予最大的优先级。也就是说不管权重如何以及样式位置的远近,!important都具有最大优先级。
5.权重是可以相加的
3.4 阶段案例----制作新闻网页
注:利用标题标记<h2>
、段落标记<p>
、水平线标记<hr>
、
还可以在段落中嵌套文本格式化标记如:<em>
、<b>