html - CSS:是否可以在另一个字段集之前为一个字段集指定样式?

标签 html css

CSS:是否可以在另一个字段集之前为一个字段集指定样式?当我的代码中有两个字段集时,我想将它们应用特定的样式。

编辑当然不使用类和 ID...

这是我的代码

        <div id="tabs">
            <fieldset class="one">
                <legend>One</legend>
                Text
            </fieldset>
            <fieldset class="two">
                <legend>Two</legend>
                Text
            </fieldset>
        </div>

这给了我这个:

enter image description here

我想要这个:

enter image description here

最佳答案

使用 CSS,您只能将样式应用于任何元素或其兄弟元素的子元素,这就是为什么我们只能使用 + 相邻同级选择器在第二个 fieldset 上应用样式。在下面的演示中我将展示如何做到这一点。

关于所有可能的 CSS2 选择器,您可以在 specification 中阅读让自己明白:用 css 选择器可以做什么,不能做什么

可能是我的解释demo on dabblet.com可以帮助您解决问题。

结果:
enter image description here

HTML 标记:

<fieldset> </fieldset>
<fieldset> </fieldset>
<fieldset> </fieldset>
<fieldset> </fieldset>

CSS 标记:

/* detect only first fieldset */
fieldset:first-child {
    background-color: green;
}

/* detect all sibling fieldset element after first one */
fieldset:first-child ~ fieldset {
    background-color: gray; 
}

/* detect only first sibling fieldset element after first one */
fieldset:first-child + fieldset {
    background-color: red;
}

关于html - CSS:是否可以在另一个字段集之前为一个字段集指定样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11017655/

相关文章:

javascript - Flask-python : Dropdown selected value is not displayed when selected from dropdown?

JavaScript 显示数字

javascript - 在 Canvas 周围画一个框 getImageData

php - 获取链接的值

javascript - d3 嵌套 SVG 在 Firefox 中的绘制方式与在 Chrome 中的绘制方式不同

css - 如何垂直对齐 `inline-block` 元素内的 `<td>` 元素?

css - Max Bottom 一个 Popup Div

javascript - 如何验证两个运算符没有被放在一起。计算器 JavaScript

html - 内部 div 弹出布局

css - 如何在中线和文本之间留出空间?