我正在嘗試使用複選框hack來顯示和隱藏外部鏈接列表,而不使用for=
和JavaScript。CSS checkbox hack without for =
HTML:
<label class="tog">
<input type="checkbox" class="tog-check">
<div class="tog-list">
<a href="http://www.google.com">Google</a>
<a href="http://www.yahoo.com">Yahoo</a>
<div class="tog-less">
hide
</div>
</div>
<div class="tog-more">
show
</div>
</label>
CSS:
label.tog{
display:block;
cursor:pointer;
}
input.tog-check{
position: absolute;
top: -9999px;
left: -9999px;
}
div.tog-list{
display:none;
}
input.tog-check:checked ~ div.tog-list {
display:block;
}
input.tog-check:checked ~ div.tog-more {
display:none;
}
input.tog-check:unchecked ~ div.tog-more {
display:block;
}
input.tog-check:unchecked ~ div.tog-list {
display:none;
}
div.tog-list a{
display:block;
padding:8px 4px;
border-bottom:1px solid #eee;
}
.tog-more, .tog-less{
padding:8px 4px;
border-bottom:1px solid #eee;
}
你可以看到it works。但這是無效的HTML,因爲標籤內部不允許流內容。
標籤外部是否有.tog-list
但仍具有顯示/隱藏功能?或者我堅持使用for=
?或者有沒有辦法解決這個問題?
什麼是與使用'for'屬性的問題? –
該代碼將在同一頁面上多次使用。我希望可以重複使用的東西,而不必每次都創建ID。 – rybo111
我曾考慮單選按鈕,但他們仍然需要某種形式的ID,我相信。 – rybo111