以下是示例部门:
#grandparent {
width: 100px;
}
#parent {
overflow: auto;
height: 100px;
}
.child {
overflow: hidden;
margin-left: 10px;
}
<div id="grandparent">
<div id="parent">
<div class="child">1000000000000000000000000</div>
<div class="child">1000000000000000000000000</div>
<div class="child">1000000000000000000000000</div>
<div class="child">1000000000000000000000000</div>
<div class="child">1000000000000000000000000</div>
<div class="child">1000000000000000000000000</div>
<div class="child">1000000000000000000000000</div>
</div>
</div>
<div class="child">
宽度值始终比<div id="parent">
宽度值小10个像素。如何计算,以便给<div id="parent">
赋予任何宽度值,它的孩子比那个小10个像素?
非常感谢任何帮助!
麦克
答案 0 :(得分:6)
使用jQuery,这非常简单。只需从what.innerWidth()
这里减去10:
$(".child").css('width', $('#parent').innerWidth()-10);
你也可以这样做:
$(".child").each(function(){
$(this).css('width', $(this).parent().innerWidth()-10);
});
- 这意味着您可以拥有多个父级,而无需了解id
。
您可以使用HTML元素对象的clientWidth
属性。像这样:
var targetParent = document.getElementById('parent'); // or whatever
var targets = targetParent.getElementsByClassName('child');
for(var i=0;i<targets.length;i++) targets[i].parentNode.style.width = targets[i].clientWidth - 10;
希望这有帮助! - 坦纳。
答案 1 :(得分:0)
尝试使用此css作为父级:
#parent {
overflow:auto; height:100px;
padding: 0 5px 0 5px;
}
答案 2 :(得分:0)
这就是CSS中选择器的用途:
#parent.div {
width: 100%;
margin-left: 10px;
margin-right: 10px;
}
答案 3 :(得分:0)
这可以通过calc
完成 width: -webkit-calc(50% - 7px) !important;
width: -moz-calc(50% - 7px) !important;
width: calc(50% - 7px) !important;
更多信息和示例https://developer.mozilla.org/en-US/docs/Web/CSS/calc