层次选择器,又称后代选择器

 zhushican   2022-11-02 11:45   472 人阅读  0 条评论

层次选择器,又称后代选择器

层次选择器,又称后代选择器,主要包括如表3-2所示几种类型层次选择器。"CSS" 列指示该属性是在哪个 CSS 版本中定义的。(CSS1、CSS2还是 CSS3。)

表3-2  层次选择                       

 

选择器

 
 

  

 
 

功能描述

 
 

E  F

 
 

后代选择器

 
 

选择匹配的F元素,且匹配的F元素被包含在匹配的E元素内。

 
 

E>F

 
 

子选择器

 
 

选择匹配的F元素,且匹配的F元素是所匹配的E元素的子元素。

 
 

E+F

 
 

相邻兄弟选择器

 
 

选择匹配的F元素,且匹配的F元素紧跟位于匹配的E元素后面。

 
 

E~F

 
 

通用选择器

 
 

选择匹配的F元素,且位于匹配的E元素后的所有匹配F元素

 

备注"CSS"列指示该属性是在哪个 CSS 版本中定义的。(CSS1CSS2 还是 CSS3。)

1.  CSS后代选择器

后代选择器可以选择作为某元素后代的元素。我们可以定义后代选择器来创建一些规则,使这些规则在某些文档结构中起作用,而在另外一些结构中不起作用。举例来说,如果您希望只对 h1 元素中的 em 元素应用样式,可以这样写:

 

h1 em {color:red;}

 

上面这个规则会把作为 h1 元素后代的 em 元素的文本变为 红色。其他 em 文本(如段落或块引用中的 em)则不会被这个规则选中:

 

<h1>This is a  <em>important</em> heading</h1>

 

<p>This is a  <em>important</em> paragraph.</p>

 

2.  CSS子选择器

与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器(Child selector)。   例如,如果您希望选择只作为 h1 元素子元素的 strong 元素,可以这样写:

 

h1 > strong {color:red;}

 

这个规则会把第一个 h1 下面的两个 strong 元素变为红色,但是第二个 h1 中的 strong 不受影响:

 

<h1>This is  <strong>very</strong> <strong>very</strong>  important.</h1>

 

<h1>This is <em>really  <strong>very</strong></em> important.</h1>

 

3.  CSS相邻兄弟选择器

相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:

 

h1 + p {margin-top:50px;}

 

这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1和 p 元素拥有共同的父元素”。

4.  CSS通用选择器

为所有相同的父元素中位于 p 元素之后的所有 ul 元素设置背景:

 

p~ul{background:#ff0000;}

 

浏览器支持--所有主流浏览器都支持 element1~element2 选择器。注释:对于 IE8 中的该选择器,必须声明 <!DOCTYPE>


本文地址:http://www.sclingchen.com/post/151.html
版权声明:本文为原创文章,版权归 zhushican 所有,欢迎分享本文,转载请保留出处!

评论已关闭!