css - 从子 css 覆盖父级的最大宽度

标签 css overriding parent-child

我在文档和主页上使用 VuePress,我想要一些更可定制的东西。我的问题是类 .theme-default-contentmax-width740px,如果我重写此类并将其更改为最大值-width,它会弄乱所有其他页面,不仅是主页,因为在 VuePress 上,所有页面都链接到主题。
我想要的是 header 中的子类,以扩展页面的 width: 100%
目前这是行不通的,无论我尝试多少,它都不会覆盖它。我可以让它绝对化,但这会产生更多问题。
有没有办法从内部覆盖父级的属性?

最佳答案

您不能在 CSS 中用子样式覆盖父样式,因为有 no parent selector在 CSS 中。

但是,您不需要覆盖任何东西来为子元素提供一个跨越 100% 视口(viewport)的 width;只需使用 viewport unit vw 作为宽度:100vw:

body {
  margin: 0;
}

.outer {
  height: 100px;
  width: 200px;
  max-width: 200px;
  background: red;
  padding: 25px;
}

.inner {
  height: 100px;
  width: 100vw;
  background: blue;
}
<div class="outer">
  <div class="inner"></div>
</div>

请注意,如果您在父级上有填充,您可能希望从视口(viewport)的 width减去它(这样就没有水平滚动条)。这可以通过 calc() 来完成:

body {
  margin: 0;
}

.outer {
  height: 100px;
  width: 200px;
  max-width: 200px;
  background: red;
  padding: 25px;
}

.inner {
  height: 100px;
  width: calc(100vw - 25px);
  background: blue;
}
<div class="outer">
  <div class="inner"></div>
</div>

关于css - 从子 css 覆盖父级的最大宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57898820/

相关文章:

javascript - CSS <div> 换行错误

php - 从另一个插件/扩展类覆盖插件的功能

css - 如何用你自己的 css 覆盖 cloudmade maps css?

Java,在不知道参数的情况下强制执行方法

c - 在 C 中,当没有任何内容可读时,读取函数 "know"是如何实现的?

父进程与操作系统之间的通信

css - 根据选定的 <option> 设置 <select> 元素的样式

JavaScript 不检测动漫 js

javascript - 动态填充两个对象之间的空间

android - 将 Sencha 应用程序部署到 Android 设备后,CSS 无法正常工作