<分区>
标签 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/