css是一个奇妙的东西,除非你被阻止而你还没有 ahaha片刻。
今天我无法将包含相对位置元素的父div的高度缩放到正确的高度。这是因为孩子们正在使用top
属性。
现在我知道top
如何处理相对定位元素,我理解为什么它不包含正确的高度值。
我想知道的是:
“是否有可能将此顶级属性包含在我父级的高度而不切换到填充或边距?”
这是我的代码的小提琴:http://cssdeck.com/labs/unfeydw0
或者下面的简单代码:
HTML:
<div>
<div class="relative">
</div>
</div>
的CSS:
.relative {
position: relative;
top: 42px;
height: 40px;
width: 100%;
background: red;
}
谢谢。
答案 0 :(得分:3)
当您指定“top”时,您将始终移动对象而不会影响父级的高度。这意味着如果你想影响它的高度,你必须用边距移动它。
所以你的答案是:“不,这是不可能的”。以下是规范:http://www.w3.org/TR/CSS2/visudet.html#Computing_heights_and_margins
答案 1 :(得分:0)
您可以在.relative
之后添加一个空元素,并将其height
设置为.relative
top
定位的元素。
答案 2 :(得分:0)
如果你想用jquery传递它
var positionToTop = $(".relative").css("top");
$(".relative").parent().css({"top":positionToTop});
我forked a CSSDeck在这里为你
答案 3 :(得分:0)
我发现在类似情况下对我有用的不是设置top:
我设置margin-top:
。这将导致父div适当地调整自身大小。