您好–我想根据另一个div中的内容显示div中的内容.例如,如果sibling1为空,我想隐藏sibling2(在下面的parent1中).如果sibling1有内容,我想展示sibling2(下面是parent2).我更希望能用CSS实现这一点,这可能吗?如果没有,我也可以使用一个简单的javascript建议.

<!---hide sibling2--->
<div class="parent1">
    <div class="sibling1"></div>
    <div class="sibling2">hide</div>
</div>

<!---show sibling2--->
<div class="parent2">
    <div class="sibling1">has content</div>
    <div class="sibling2">show</div>
</div>

推荐答案

.parent {
  height: 100px;
  border: 1px solid;
 }
.sibling1 { background: green; }
.sibling2 { background: red; }
.sibling1:empty + .sibling2 { display: none; }
<!---hide sibling2--->
<div class="parent">
    <div class="sibling1"></div>
    <div class="sibling2">hide</div>
</div>

<!---show sibling2--->
<div class="parent">
    <div class="sibling1">has content</div>
    <div class="sibling2">show</div>
</div>

Css相关问答推荐

如何在没有额外间隔的情况下使用Angularmaterial 图标?

我控制的自定义单选按钮无法重新 Select

在GRID-TEMPLATE-ROWS中设置最大行数:Repeat()

使用文本溢出约束内部 div:没有最大宽度的省略号(或类似的)

使用框架时样式冲突导致的 CSS 网格布局问题

通过 CSS 中的媒体查询更改站点的页面大小

CSS Select 器在 rvest 中找到,在 RSelenium 中找不到

通过css修改样式shadowroot元素

为什么过渡属性不适用于 box-shadow?

从 Angular SCSS 生成 CSS?

在嵌套的弹性框中创建弹性项目之间的空间

对齐视图中的复选框(RN)

为什么我们将