<head>
<title>...</title>
</head>
<body>
<ul>
<li>332</li>
<li>233234</li>
</ul>
<p>...</p>
</body>
</html>
例如上面的html结构:
<html>元素就是<body>和<head>的父元素(上下级,包含关系)
而<body>又是<ul>和<p>的父元素
<ul>又是两个<li>的父元素。
两个<li>就是兄弟元素(平级)
<body>和<head>也是兄弟元素,依此类推。
相应的, ul 和p是body的子元素, 而 li 呢, 是body的后代元素(后代选择符)。
你在dreamweaver里,套用源格式后,代码自动缩进,你很容易就能看出来的。
1、CSS兄弟相邻选择器加号
相邻兄弟选择器使用了加号(+),即相邻兄弟结合符(Adjacent sibling combinator)。
注释:与子结合符一样,相邻兄弟结合符旁边可以有空白符。
CSS兄弟相邻选择器加号,举例说明
HTML代码
<p>这里是第一个P标签</p><p>这里是第二个P标签</p><h2 class = 'h2'>标题H2</h2><p>这里是第一个P标签</p><p>这里是第二个P标签</p><p>这里是第三个P标签</p><p>这里是第四个P标签</p>CSS代码
.h2 + p{color: red
}
2、CSS兄弟选择器~(匹配选择器)
'~'匹配所有在指定元素之后的同级某个元素
举例说明一个,CSS的匹配选择器
HTML代码
<p>这里是第一个P标签</p><p>这里是第二个P标签</p><h2 class = 'h2'>标题H2</h2><p>这里是第一个P标签</p><p>这里是第二个P标签</p><p>这里是第三个P标签</p><p>这里是第四个P标签</p>CSS代码
.h2 ~ p{color: red
}
3、总结:
CSS中的兄弟选择符号‘~’,可以选择指定元素后的,同级的相同的所有元素。比如上面的示例,所以h2标签后的P标签全部被选择,并加入了样式
通过这两个例子,可以发现虽然这两个选择器都表示兄弟选择器,但是‘+’选择器则表示某元素后相邻的兄弟元素,也就是紧挨着的,是单个的。而‘~’选择器则表示某元素后所有同级的指定元素,强调所有的。
其他选择器可参考
把有IMG子标签的的父标签的z-index值设置大于另外一个父标签,这样img就能看到了。自标签的z-index是建立在父标签的基础上的,加入A元素的z-index值低于B元素的,那么A元素下面的子元素的层级也同样都低于B元素里的子元素,即使你将A元素里的子元素设为z-index:9999;同理元素B里的子元素,即使是设的z-index:1它照样比元素A的层级要高;另外,设置了z-index属性,需要对div标签设置定位才能生效,不管是绝对定位还是相对定位。