今天在改以以前人家寫的網頁的樣式的時候,碰到這個選擇器,‘~’,當時我是懵逼的,傻傻分不清 ‘+’ 跟 ‘~’的區別,雖然我知道他們都是兄弟選擇器。
后來網上查了下,也許是我查找的方式不對,沒有找到我想要的答案,於是私下拿這兩個選擇器來測試了一下。發現原來是這樣的。
先來代碼說話:
(1)、‘~’選擇器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .h3 ~ p{ color: red; } </style> </head> <body> <p>這是段落標簽</p> <p>這是段落標簽</p> <p>這是段落標簽</p> <h3 class="h3">這是標題標簽</h3> <p>這是段落標簽</p> <p>這是段落標簽</p> <p>這是段落標簽</p> <h3>這是標題標簽</h3> <p>這是段落標簽</p> <p>這是段落標簽</p> <p>這是段落標簽</p> </body> </html>
效果如下:
(2)、‘+’選擇器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .h3 + p{ color: red; } </style> </head> <body> <p>這是段落標簽</p> <p>這是段落標簽</p> <p>這是段落標簽</p> <h3 class="h3">這是標題標簽</h3> <p>這是段落標簽</p> <p>這是段落標簽</p> <p>這是段落標簽</p> <h3>這是標題標簽</h3> <p>這是段落標簽</p> <p>這是段落標簽</p> <p>這是段落標簽</p> </body> </html>
代碼還是那些,只是把‘~’換成了‘+’,結果是大不相同。
通過這兩個例子,可以發現雖然這兩個選擇器都表示兄弟選擇器,但是‘+’選擇器則表示某元素后相鄰的兄弟元素,也就是緊挨着的,是單個的。而‘~’選擇器則表示某元素后所有同級的指定元素,強調所有的。