html - 如何将此 ID 选择器重写为类或通用选择器?

标签 html css css-selectors

以下选择器允许我显示四个选项卡,但我想要显示 5、6 等的通用代码。是否有另一种方法可以为任意数量的选项卡编写此 CSS 代码? (我更喜欢纯 CSS 解决方案)。

#tab1:checked ~ #content1,
#tab2:checked ~ #content2,
#tab3:checked ~ #content3,
#tab4:checked ~ #content4 {
  display: block;
}
  <input id="tab1" type="radio" name="tabs" checked>
  <label for="tab1">Codepen</label>
    
  <input id="tab2" type="radio" name="tabs">
  <label for="tab2">Dribbble</label>
    
  <input id="tab3" type="radio" name="tabs">
  <label for="tab3">Dropbox</label>
    
  <input id="tab4" type="radio" name="tabs">
  <label for="tab4">Drupal</label>
  
   <input id="tab5" type="radio" name="tabs">
  <label for="tab5">Drupal</label>

这是一个JSFiddle带有完整的演示。

最佳答案

您可以稍微重写您的 html 以实现此目的:

<input id="tab1" type="radio" name="tabs" class="tabs-radio" checked>
<label for="tab1">Codepen</label>
<section id="content1" class="tabs-content">
....
</section>
<input id="tab2" type="radio" name="tabs" class="tabs-radio">
....

然后你可以简单地做:

.tabs-radio:checked + * + .tabs-content {
  display: block;
}

唯一的问题是标签/ block 的定位:其中之一应该是绝对定位

关于html - 如何将此 ID 选择器重写为类或通用选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37812273/

相关文章:

html - 拖动时使 jQuery UI Draggable 光标在 Bootstrap Modal 中居中

javascript - 使用箭头和鼠标滚轮移动幻灯片

javascript - HTML5 旋转/动画背景

html - 如何使具有相同特性的 css 选择器按照 HTML 标签的 parent 身份顺序应用?

html - 什么时候为 css 使用 div#idname 或 #idname

html - 如何在 html css 中水平和垂直显示表格单元格中间的文本?

javascript - onClick 从 session 中删除项目

javascript - 如何在两列中均匀显示动态内容?

css - 超出自身边距的 div 标签

css - 是否有选择 dt 及其关联的 dd 元素的 CSS 选择器?