有人可以解釋代碼的最後部分是如何工作的?具體來說:CSS無線電標籤如何工作?
[type=radio]:checked {
}
[type=radio]:checked ~ .content {
z-index: 1;
}
我剛剛開始使用CSS作爲newb,並希望嘗試創建一些交互式CSS選項卡;這導致我查看一些現有的代碼。不用說這讓我很困惑。
爲什麼需要[type=radio]:checked
?它有括號內的z-index: 2;
,但我把它拿出來,代碼仍然工作得很好;儘管當我嘗試刪除[type=radio]:checked
時,代碼會中斷。爲什麼?目前它沒有任何屬性。
[type=radio]:checked ~ .content
曾經是[type=radio]:checked ~ label ~ .content
但我拿出標籤,它仍然正常工作。爲什麼需要它?
HTML:
<div class="tab">
<input type="radio" id="tab-1" name="tab-group-1" checked>
<label for="tab-1">Tab One</label>
<div class="content">
tab#1
</div>
</div>
<div class="tab">
<input type="radio" id="tab-2" name="tab-group-1">
<label for="tab-2">Tab Two</label>
<div class="content">
tab#2
</div>
</div>
<div class="tab">
<input type="radio" id="tab-3" name="tab-group-1">
<label for="tab-3">Tab Three</label>
<div class="content">
tab#3
</div>
</div>
</div>
</html>
CSS:
.tabs {
position: relative;
height: 200px; /* This part sucks */
clear: both;
margin: 25px 0;
}
.tab {
float: left;
}
.tab label {
background: #eee;
padding: 10px;
border: 1px solid #ccc;
margin-left: -1px;
position: relative;
left: 1px;
}
.tab [type=radio] {
display: none;
}
.content {
position: absolute;
top: 28px;
left: 0;
background: white;
right: 0;
bottom: 0;
padding: 20px;
border: 1px solid #ccc;
}
[type=radio]:checked {
}
[type=radio]:checked ~ .content {
z-index: 1;
}
我明白z-index是如何工作的,我不明白的是選擇器[type = radio]:選中和檢查〜.content是如何工作的。什麼是[type-radio]:檢查{}實際在做什麼?我知道:checked是指無論哪個收音機都被檢查過,但我不理解它們如何與另一個使用的概念以及與其他代碼相關的概念,除了:checked〜。內容顯示選中框的內容。令人困惑的是:檢查{}正在執行,爲什麼需要。 –
好的,因爲您正在點擊頂部三個標籤之一。其中每一個都是「輸入類型=收音機」,這就像一箇舊時尚收音機。您曾經在收音機上按下一個按鈕,當前推入的按鈕會彈出。就像單選按鈕在網絡上的工作方式一樣。該行的CSS指出單擊的單選按鈕爲內容添加了「z-index」。由於每次只有一個單選按鈕可以處於活動狀態,因此它是唯一具有更高「z-index」的單選按鈕,因此可以顯示其他選項。 –
我明白了,我的問題實際上是錯誤的,因爲[type = radio]:不需要檢查,我之前說過。測試時我犯了一個錯誤,並認爲需要使用代碼片段才能正常工作。但實際上並不需要這些讓我困惑的東西。謝謝你的回答,但我的錯誤! –