CSS高级特性
一、CSS复合选择器
1.标签指定式选择器
标签指定式选择器又称交集选择器,由连个选择器构成,其中第一个为标记选择器,第二个为class选择器或id选择器,两个选择器之间不能有空格,如h3.special或p#one.
如:
<head>
<meta charset="utf-8">
<title>标签指定式选择器的应用</title>
<style type="text/css">
p{color:blue;}
.special{color:red;}
p.special{color:green;}
</style>
</head>
<body>
<p>这是一段蓝色段落文本(普通)</p>
<p class="special">指定了.special类的段落文本(绿色)</p>
<h3 class="special">指定了.special类的标题文本(红色)</h3>
</body>
2.后代选择器
后代选择器用来选择元素或元素组的后代,其写法就是把外层标记写在前面,内层标记写在后面,中间用空格分隔。在标记发生嵌套时,内层标记就成为外层标记的后代。
例如:
<head>
<meta charset="utf-8">
<title>后代选择器</title>
<style type="text/css">
p strong {color:red;}
strong {color:blue;}
</style>
</head>
<body>
<p>段落文本<strong>嵌套在段落中,使用strong标记定义的文本(红色)。</strong></p>
<strong>嵌套之外由strong标记定义的文本(蓝色)。</strong>
</body>
后代选择器 p strong定义的样式仅仅适用于嵌套在< p > 标记中的< strong >标记,其他的 < strong >标记不受影响
后代选择器不仅限于使用两个元素,如果需要加入更多的元素,只需要在元素之间加上空格即可。
3.并集选择器
并集选择器是各个选择器通过逗号连接而成的,任何形式的选择器(包括标记选择器,class选择器,id选择器等),都可以作为并集选择器的一部分。如果某些选择器定义的样式完全相同,或部分相同,就可以利用并集选择器为他们定义相同的CSS样式。
例如:
<head>
<meta charset="utf-8">
<title>并集选择器</title>
<style type="text/css">
h2,h3,p{ color:red; font-size:14px;}
h3,.special,#one{ text-decoration:underline;}
</style>
</head>
<body>
<h2>二级标题文本。</h2>
<h3>三级标题文本,加下划线</h3>
<p class="special">段落文本1,加下划线。</p>
<p>段落文本2,普通文本。</p>
<p id="one">段落文本3,加下划线</p>
</body>
二、CSS层叠性和继承性
1.层叠性
所谓层叠性是指多种CSS样式的叠加。
例如:
<head>
<meta charset="utf-8">
<title>css层叠性</title>
<style type="text/css">
p{font-size:12px;font-family:"微软雅黑";}
.special{font-size:16px;}
#one{color:red;}
</style>
</head>
<body>
<p class="special" id="one">段落文本1</p>
<P>段落文本2</P>
<p>段落文本3</p>
</body>
标记选择器p和类选择器special都定义了段落文本1的字号大小,但是段落文本显示了类选择special定义的字号大小,这是因为类选择的优先级高于标记选择的优先级
2.继承性
所谓继承性是指书写CSS样式表时,字标记会继承父标记的某些样式,如文本颜色和字号。例如,定义主体元素body的文本颜色为黑色,那么页面中所有的文本都将显示为黑色,这是因为其他的标记都嵌套在
< body >标记中,是< body >标记的字标记。
恰当的使用继承可以简化代码,降低CSS样式的复杂性。但是,如果网页中所有的元素都大量继承样式,那么判断样式的来源就很困难,所以对于字体,文本属性等网页中通用的样式可以使用继承。例如,字号,字体,颜色,行距等可以在body元素中统一设置,然后通过影响文档中所有的文本。
并不是所有的CSS属性都可以继承,以下属性不具备继承性:
①.边框属性
②外边距属性
③内边距属性
④背景属性
⑤定位属性
⑥布局属性
⑦元素宽高属性
3.CSS优先级
!important命令拥有最大的优先级
id选择器权重为100
标记选择器权重为1
类选择器权重为10