javascript - 如何设置相对于祖 parent 元素而不是直接父元素的宽度?

标签 javascript jquery css width

我试图用相对于祖 parent 元素宽度的百分比来设置一些元素的宽度。像这样。

<style>
.grand{width:1000px; overflow:hidden;}
.parent{width:2000px; position:relative}
.child1{float:left; width:50%; height:200px; background-color:blue;}
.child2{float:left; width:50%; height:200px; background-color:green;}
</style>


<div class="grand">
 <div class="parent">
  <div class="child1"></div>
  <div class="child2"></div>
 </div>
</div>

但我不知道如何做到这一点,我怎样才能让子元素直接引用它的祖父元素而不是直接父元素? (在这种情况下,如果我将子元素宽度设置为 50%,则它必须为 500px,而不是 1000px。)

有没有可能的方法来做到这一点?

最佳答案

您可以使用 CSS custom properties , var()calc()功能

.grand {
--main-width: 1000px;
  width: 1000px;
  overflow: hidden;
}

.parent {
  width: calc(var(--main-width) * 2);
  position: relative
}

.child1, .child2 {
  float: left;
  width: calc(var(--main-width) / 2);
  height: 200px;
}

.child1 {
  background-color: blue;
}

.child2 {
  background-color: green;
}
<div class="grand">
  <div class="parent">
    <div class="child1"></div>
    <div class="child2"></div>
  </div>
</div>

关于javascript - 如何设置相对于祖 parent 元素而不是直接父元素的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48455590/

相关文章:

javascript - 将 img(文件)传输到另一个页面

javascript - querySelectorAll - 如何只获取某个 div 中的元素

javascript - 是否可以将JSON格式的数据发送到没有表单的服务器?

html - 将属性值重置为默认值或将其设置为初始值以获得更好的性能

javascript - 如何使用 react 或 css 在图库中一次突出显示 1 张图像

javascript - 通过元素的属性检测元素的属性变化 - JavaScript

javascript - 您将如何获取 JSON 对象数组中所有子节点的 JSONPath?

javascript - 通过id获取元素并将其放入bootstrap col中

jquery - 设置最小宽度 - jQuery

css - 页面用中心技术切断