css - 如何根据不同的类更改另一个容器的高度

标签 css css-selectors pseudo-element

<分区>

我有下面的 Html 结构

<div>
   <div class="experimental-bar experimental-bar-minimal"></div>
</div>
<div class="experimental-border">
   <div class="container"></div>
</div>

CSS:

.experimental-bar { height: 50px; }
.experimental-bar-minimal {height: 25px; }

.container { height: ~"calc('100vh - 50px')"; }

我想在调用 experimental-bar-minimal 类时改变容器的高度

我用过

div:has(.experimental-bar) + .experimental-border .f8-wi-container {
  height:  ~"calc('100vh - 50px')";
}
div:has(.experimental-bar-minimal) + .experimental-border .f8-wi-container {
  height:  ~"calc('100vh - 25px')";
}

谁能帮帮我。提前致谢

:没有工作

最佳答案

没有< CSS 中的选择器,目前没有根据其子元素之一设置父元素样式的选项。至少不能使用 vanilla CSS,我不确定这是否可以通过 Sass、Less 或 Stylus 等预处理器实现。

实际上有一个>选择器,仅选择父节点的直接子节点。请阅读MDN Documentation了解更多信息。


实际上是:has伪类,其工作方式类似于下面的代码,但当前为 not supported通过任何浏览器:

.parent:has(> child) {
    /* Style Rules */
}

关于css - 如何根据不同的类更改另一个容器的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46400947/

上一篇:css - 如何为大型显示器设置列?

下一篇:html - 改变和移动背景 HTML, CSS

相关文章:

html - 是否可以为 TD 和 COL/COLGROUP 元素的交互编写 CSS 选择器?

css - 带有 :before 的自定义列表元素符号

html - 由于CSS中的after/before而写在div中的问题

html -::在将内容放入无花果标题之前,有什么办法可以避免这种情况吗?

css - 以 3 列显示时摆脱 ​​li 元素的第三页边距,使其与页面边缘对齐?

html - 删除表格中的特定单元格边框

html - CSS 需要内联元素出现在 { 显示 : block; } element 旁边

c# - CSS 不适用于电子邮件正文

jquery - 以 3 组为一组选择 <li>

asp.net - 带有 :before and :after [CSS3] 的框阴影