CSS 组合选择符
CSS 组合选择符
组合选择符说明了两个选择器直接的关系。
CSS组合选择符包括各种简单选择符的组合方式。
在 CSS3 中包含了四种组合方式:
后代选取器(以空格分隔)
子元素选择器(以大于号分隔)
相邻兄弟选择器(以加号分隔)
普通兄弟选择器(以破折号分隔)
后代选取器
后代选取器匹配所有值得元素的后代元素。
以下实例选取所有 <p> 元素插入到 <div> 元素中:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> div p { background-color:#00ff00; } </style> </head> <body> <div> <p>朝辞白帝彩云间</p> <p>千里江陵一日还</p> </div> <p>两岸猿声啼不住</p> <p>轻舟已过万重山</p> </body> </html>
子元素选择器
与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。
以下实例选择了<div>元素中所有直接子元素 <p> :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> div>p { background-color:blue; } </style> </head> <body> <h1>静夜思</h1> <div> <h2>床前明月光</h2> <p>疑是地上霜</p> </div> <div> <span><p>举头望明月</p></span> <p>低头思故乡</p> </div> </body> </html>
相邻兄弟选择器
相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。
如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。
以下实例选取了所有位于 <div> 元素后的第一个 <p> 元素:
<html> <head> <meta charset="utf-8"> <style> div+p+p { background-color:yellow; } div+p { background-color:red; } </style> </head> <body> <h1>清明</h1> <div> <h2>清明时节雨纷纷</h2> <p>路上行人欲断魂</p> </div> <p>借问酒家何处有</p> <p>牧童遥指杏花村</p> </body> </html>
普通相邻兄弟选择器
普通兄弟选择器选取所有指定元素的相邻兄弟元素。
以下实例选取了所有 <div> 元素的所有相邻兄弟元素 <p> :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> div~p { background-color:yellow; } </style> </head> <body> <div> <p>画</p> </div> <div> <p>远看山有色</p> <p>近听水无声</p> </div> <p>春去花还在</p> <p>人来鸟不惊</p> </body> </html>
相邻是指下一个,和上一个没关系。