尋找~
字符並不容易。我正在看一些CSS,發現這個「〜」(代字符/ squiggle/twiddle)CSS選擇器是什麼意思?
.check:checked ~ .content {
}
這是什麼意思?
尋找~
字符並不容易。我正在看一些CSS,發現這個「〜」(代字符/ squiggle/twiddle)CSS選擇器是什麼意思?
.check:checked ~ .content {
}
這是什麼意思?
的~
選擇實際上是在General sibling combinator(或繼同胞組合子根據selectors Level 4 working draft):
一般兄弟組合子是由所述 「波浪線」(U + 007E,〜) 分隔兩個簡單選擇器序列的字符。由兩個序列表示的元素在 文檔樹中共享相同的父元素,並且由第一序列 表示的元素在第二個表示的元素之前(不一定立即)。
請看下面的例子:
.a ~ .b {
background-color: powderblue;
}
<ul>
<li class="b">1st</li>
<li class="a">2nd</li>
<li>3rd</li>
<li class="b">4th</li>
<li class="b">5th</li>
</ul>
.a ~ .b
第四和第五列表項相匹配,因爲它們:
.b
元素.a
.a
之後。同樣,.check:checked ~ .content
匹配所有.content
元素是.check:checked
兄弟姐妹和之後出現。
這是General sibling combinator
,並在@薩拉曼的回答很好地解釋。
我沒有錯過的是Adjacent sibling combinator
這就是+
並且與~
密切相關。
例子是
.a + .b {
background-color: #ff0000;
}
<ul>
<li class="a">1st</li>
<li class="b">2nd</li>
<li>3rd</li>
<li class="b">4th</li>
<li class="a">5th</li>
</ul>
.b
.a
.a
後在上面的例子它將標誌着第二li
但不是第四。
.a + .b {
background-color: #ff0000;
}
<ul>
<li class="a">1st</li>
<li class="b">2nd</li>
<li>3rd</li>
<li class="b">4th</li>
<li class="a">5th</li>
</ul>
好還要檢查在家庭中的其他combinators,並要回這是什麼特定的一個。
ul li
ul > li
ul + ul
ul ~ ul
例清單:
ul li
- Looking inside - 選擇全部li
元素置於ul
之內(任意位置); 後代選擇ul > li
- 尋找內部 - 選擇僅ul
直接li
元件;即它只會選擇ul
的直接子女li
; 子選擇或兒童組合子選擇ul + ul
- 向外看 - 選擇ul
立即ul
以下;它不在裏面尋找,而是在外面尋找緊接着的元素; 相鄰兄弟選擇ul ~ ul
- 向外看 - 選擇所有後面的ul
不要緊,它在哪裏,但兩者ul
應具有相同父節點的ul
; 一般兄弟選擇我們正在尋找在這裏的一個是一般兄弟選擇
感謝您的上下文!幫助了我很多! –
注意,在屬性選擇器(例如,[data-components~=wheels]
),波浪
表示具有屬性名稱attr的元素,其值是以空格分隔的單詞列表,其中一個單詞完全是值。
https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors
僅供參考,如果你拼寫出有問題的角色的名字有時幫助。在這種情況下,搜索[「css tilde」](https://www.google.com/search?q=css+tilde)會產生很多相關結果。 –
我甚至不知道它被稱爲代字號,它只是一個squigle – Akshat
搜索[「css squiggle選擇器」](https://www.google.com/search?q=css+squiggle+selector)也可以;) –