无法定位元素

问题描述 投票:0回答:2

我有这样的 HTML

<element1 class="class__1">
   <element2 removePadding></element2>
   <element3 class="class-3"></element3>
</element>

我想仅当element2具有

removePadding
属性时更改class-3的margin-bottom,我尝试这样

element1 element2[removePadding] element1 element3.class-3 {
    margin-top: 20px;
}

但这没有用。

我想定位

class-3
仅当element2具有
removePadding
属性

css sass css-selectors tailwind-css
2个回答
0
投票

element1 element2[removePadding] element1
- 最后一个
element1
不应该在那里,CSS 选择器只能向下,不能向上。此外,
element3
不是
element2
的子级,而是兄弟姐妹,因此您可以使用
+
next-sibling)选择器

div div[data-removePadding] + div.class-3 {
    margin-top: 20px;
    background: red;
}

div {
  border: 1px solid #020202;
  padding: 20px;
  box-sizing: border-box;
}
<div class="class__1">
   <div data-removePadding=""></div>
   <div class="class-3"></div>
</div>


0
投票

尝试将同级选择器与 3 类选择器结合使用:

element1 element2[removePadding] ~.class-3 {
   margin-bottom: ...
}
© www.soinside.com 2019 - 2024. All rights reserved.