在css中,「」是相鄰兄弟元素選擇器,用於選擇緊接在另一元素後的元素,並且它們具備一個相同的父元素;換句話說,E和F兩元素具備一個相同的父元素,且F元素在E元素後面且相鄰,這樣就可使用相鄰兄弟元素選擇器來選擇F元素,語法「E F」。
本教學操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。
相鄰兄弟元素選擇器(E F
)
相鄰兄弟選擇器能夠選擇緊接在另外一元素後的元素,並且他們具備一個相同的父元素,換句話說,EF兩元素具備一個相同的父元素,並且F元素在E元素後面,並且相鄰,這樣咱們就可使用相鄰兄弟元素選擇器來選擇F元素。
這裡面有2個關鍵訊息:(1)緊接在另一元素後;(2)二者有相同父元素
例子①:
<!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> div+p{ background-color: aqua; } </style> </head> <body> <!--[if lt IE 7]> <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="#">upgrade your browser</a> to improve your experience.</p> <![endif]--> <div> <p>第零个段落</p> <div> <p>第一个段落</p> </div> </div> <p>第二个段落</p> <p>第三个段落</p> <p>第四个段落</p> </body> </html>
div p表示選取了所有位於dc6dce4a544fdca2df29d5ac0ea9906b元素後的第一個e388a4556c0f65e1904146cc1a846bee 元素
上述「第零個段落」和「第一個段落」沒有被選中,是因為它們都嵌套在了dc6dce4a544fdca2df29d5ac0ea9906b標籤中,而不是標籤後面的元素;
“第二個段落”被選中,是因為這個e388a4556c0f65e1904146cc1a846bee標籤是dc6dce4a544fdca2df29d5ac0ea9906b標籤後的第一個e388a4556c0f65e1904146cc1a846bee元素,且有相同的父元素6c04bd5ca3fcae76e30b72ad730ca86d;
「第三個段落」和「第四個段落」沒被選中是因為它們不是dc6dce4a544fdca2df29d5ac0ea9906b標籤後緊鄰的e388a4556c0f65e1904146cc1a846bee標籤
假如希望"第三個段落"也被選中,則需要使它的e388a4556c0f65e1904146cc1a846bee標籤也在44a8922e6607b31d059827e4b04a93b9標籤之後緊鄰,如下
#如果e388a4556c0f65e1904146cc1a846bee標籤不是緊鄰dc6dce4a544fdca2df29d5ac0ea9906b,如下
可以看到「第二個段落」沒有被選中,因為相鄰兄弟選擇器選擇的是緊接在一個元素後的元素
div p{}表示的是選取dc6dce4a544fdca2df29d5ac0ea9906b後緊鄰的e388a4556c0f65e1904146cc1a846bee元素,但是上面程式碼div標籤後緊鄰的是45a2772a6b6107b401db3c9b82c049c2標籤,也就是它會選擇dc6dce4a544fdca2df29d5ac0ea9906b標籤後緊鄰的45a2772a6b6107b401db3c9b82c049c2標籤,e388a4556c0f65e1904146cc1a846bee標籤沒有緊鄰dc6dce4a544fdca2df29d5ac0ea9906b標籤,所以就選不到e388a4556c0f65e1904146cc1a846bee元素了
#範例②:
<!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> li+li{ background-color: aqua; } </style> </head> <body> <!--[if lt IE 7]> <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="#">upgrade your browser</a> to improve your experience.</p> <![endif]--> <ul> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ul> <ol> <li>List item 1</li> <li>List item 2</li> <LI>List item 3</LI> </ol> </body> </html>
一開始特別納悶為啥「List item 2」和「List item 3」都被選取了~~~
先分析選擇器樣式:li li{},字面意思是選取所有位於25edfb22a4f469ecb59f1190150159c6 標籤後的第一個25edfb22a4f469ecb59f1190150159c6 元素
(1) 很顯然第一個25edfb22a4f469ecb59f1190150159c6標籤不會選中,因為它前面不是25edfb22a4f469ecb59f1190150159c6;
#(2) 第二個25edfb22a4f469ecb59f1190150159c6標籤會選中,因為它是第一個25edfb22a4f469ecb59f1190150159c6標籤緊鄰的25edfb22a4f469ecb59f1190150159c6標籤;
(3) 第三個25edfb22a4f469ecb59f1190150159c6標籤也會選取:因為第三個25edfb22a4f469ecb59f1190150159c6標籤的上一個標籤也是25edfb22a4f469ecb59f1190150159c6 標籤,也符合css選擇器li li{}的條件:25edfb22a4f469ecb59f1190150159c6標籤後的第一個
正因為css選擇器的樣式為li li{},所以程式碼中的li標籤就可以一直套用這個「公式」。
(學習影片分享:css影片教學)
以上是'+”是什麼css選擇器的詳細內容。更多資訊請關注PHP中文網其他相關文章!