【问题标题】:How to change height of another container according to different classes [duplicate]如何根据不同的类改变另一个容器的高度[重复]
【发布时间】:2018-03-06 04:07:18
【问题描述】:

我下面有 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')"; }

我想在调用实验栏最小类时更改容器的高度

我用过

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')";
}

谁能帮帮我。提前致谢

:没有工作

【问题讨论】:

  • @zer00ne 是的,如果我使用 .experimental-border,那么 calc 可以正常工作。唯一的问题是选择父选择器,然后选择相邻的选择器

标签: css css-selectors pseudo-element


【解决方案1】:

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

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


实际上是 :has 伪类,它的工作方式类似于下面的代码,但目前任何浏览器都是 not supported

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

【讨论】:

  • :没有工作。即使我使用 .parent:has(.class-x) { }
  • 我知道,我什至提到了粗体为什么它(目前)在我的答案中不起作用!
猜你喜欢
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 2022-06-23
  • 2018-10-26
  • 1970-01-01
  • 2014-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多