html - CSS 的表达方式和

标签 html css

我正在尝试做一种纯 html/css 标签系统。我有

<div>
    <input class="tab1" type="radio" checked/>
    <input class="tab2" type="radio"/>
</div>

<div class="content">
    <div class="tab-1">

    </div>
    <div class="tab-2">

    </div>
</div>

还有我的CSS

.content > div {
    opacity:0;
}

input.tab1:checked ~ .tab-1, input.tab2:checked ~ .tab-2  {
    opacity: 1
}

但是波浪号 ~ 并没有像它应该的那样工作(因为 div 不完全是兄弟)- 我怎样才能让 css 在其他节点上工作?有没有一种在 css 中“说”的方式?

最佳答案

您必须上一级,而在 CSS 中不能这样做,因为 CSS 中没有父选择器。您可能想阅读这篇文章:why we don't have a parent selector in CSS (然而,CSS4 中会有一个父选择器)

你可以做什么:

选项 1:更改您的 HTML:

.a

<input class="tab1" type="radio" checked/>
<input class="tab2" type="radio"/>

<div class="content">
    <div class="tab-1"></div>
    <div class="tab-2"></div>
</div>

并使用 input.tab1:checked ~ .content .tab-1

.b 试试这里描述的结构:http://css-tricks.com/functional-css-tabs-revisited/ - 基本上,您的想法是不要制作一组选项卡和一组选项卡内容,而是将每个选项卡与其相应的内容分组。

选项 2:使用 JavaScript(这与纯 CSS 选项卡系统的想法背道而驰,这是真的)


重要说明:请记住,在父节点上设置 opacity < 0 会使所有子节点具有相同的 opacity 值和 < em>你无法改变它(除了再次将父级的不透明度设置为 1 :P)。

关于html - CSS 的表达方式和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10783902/

相关文章:

html - SCSS - 从一组样式中排除指定的容器

javascript - 我在 IOS 中遇到了 UIWebview 对象的奇怪问题

javascript - 使用 javascript/css3/canvas 动画图像/3D/sprite

html - 当我在 php 中打印图像时,它不显示其全宽,从右侧剪切

html - 使导航菜单下降的子菜单

html - 剪掉部分iframe的src内容

javascript - 多个复选框来回切换

javascript - 使用 JavaScript 将图像置于 div 的中心

javascript - 为网页创建可点击的圈子日期

javascript - 处理溢出的负位置图像 :auto