javascript - 有没有办法获得位置 :absolute elements? 的继承宽度

标签 javascript html css

这里第二个 div 是绝对定位的。第一个 div 占外部 div 宽度的 60%,但第二个 div 占整个屏幕宽度的 60%。我知道通过为第一个 div 提供position:relative值可以解决问题。除了提供position:relative值之外,还有其他解决方法吗?

.outer {
  height: 100px;
  width: 100px;
}

.first {
  background: black;
  width: 60%;
  color: white;
}

.second {
  position: absolute;
  width: inherit;
  background: yellow;
  color: black;
}
<div class="outer">
  <div class="first">
    parent
    <div class="second">
      child
    </div>
  </div>
</div>

最佳答案

如果外部 div 将具有定义的宽度,您可以依靠 CSS 变量来定义百分比,并且继承将按预期工作:

.outer {
  height: 100px;
  --w:100px;
  width: var(--w);
}

.first {
  background: black;
  width: calc(0.6 * var(--w));
  color: white;
 
}

.second {
  position: absolute;
  width: inherit;
  background: yellow;
  color: black;
 
}
<div class="outer">
<div class="first">
  parent
  <div class="second">
    child
  </div>
</div>
</div>

关于javascript - 有没有办法获得位置 :absolute elements? 的继承宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54365962/

相关文章:

css - 图像在顺风响应 View 中缩小

javascript - 禁用或不可访问的弹出背景区域

javascript - 如何更改输入元素的值?

css - 如何自动缩放字体大小以适应 div 的内容?

javascript - 我可以阻止 AngularJS 完全重建 DOM 的重复部分吗?

html - 在 HTML 5 Web 组件中使用很棒的字体

java - 使用 Javamail 将图像直接插入 HTML 模板

jquery - 使用 html jQuery 保存到本地存储

javascript - 对象中的属性未定义且 clearInterval() 不起作用

javascript - 我怎样才能将这支笔的代码整合到我的网站上?