css - 如何指定出现两个相等类的 CSS 父级

标签 css css-selectors

<分区>

我有一个网站,当菜单打开时,它会向 body 标签添加类。有一个右菜单和一个左菜单。当两者都打开时,它会导致我的中央列出现一些宽度问题。我试图让一个父类做这样的事情:

当 left-menu 和 right-menu 类在 body 标签中时,我想更改 central-column。

我无法让它工作,因为左菜单和右菜单在同一父级,它们没有嵌套。因此,当我指定了两个类时,它失败了,因为我找不到一种方法来指定两个相等但不在级联中的东西。

.left-menu .right-menu .central-column {margin: 0 !important;}

那行不通,但我可以指定何时打开其中一个菜单,例如,这些都有效:

.left-menu .central-column,
.right-menu .central-column {margin: 0 !important;}

我尝试过类似的方法,但没有成功。

.left-menu .right-menu {.central-column {margin: 0 !important;}}

.left-menu & .right-menu .central-column {margin: 0 !important;}

body[class="left-menu"][class="right-menu"] .central-column {margin: 0 !important;}

body[attr="left-menu"][class="right-menu"] .central-column {margin: 0 !important;}

有人可以帮忙吗?

最佳答案

当类位于同一元素上时,您需要组合选择器。例如:

<body class="left-menu right-menu">

然后为了让你的 .central-column 在这些类一起出现时受到影响,你需要在你的 CSS 上组合选择器,比如 .left-menu.right-menu (注意类之间没有空格)

.left-menu.right-menu .central-column {
   margin: 0 !important;
}

参见文档,Class Selectors

关于css - 如何指定出现两个相等类的 CSS 父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51316486/

上一篇:html - 如何在不浪费空间的情况下以紧凑的方式将子 div 一个放在另一个下面?

下一篇:Jquery .css 不在函数内工作

相关文章:

html - 使用纯 css 隐藏元素的第一个子元素以外的所有内容

javascript - var ball = document.getElementById ("ball");返回空对象?

Python- Selenium : How to click on the element with text as "Year" within the webpage

html - 单选按钮样式不起作用

css3 关键帧悬停动画 firefox

css - 我怎样才能结合两个 :not()s?

html - CSS 选择器中的类名区分大小写吗?

jquery - 使用 jquery 查找 <ul> 中的最后一行并应用一个类

html - 如何在同一行强制按钮和选择?

javascript - 固定 html,body 时滚动到元素顶部