2

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;
}

谢谢你。

4

4 回答 4

4

当您指定“顶部”时,您将始终移动对象而不会影响父对象的高度。这意味着如果你想影响它的高度,你必须用边距移动它。

所以你的答案是:“不,这是不可能的”。这是规范:http ://www.w3.org/TR/CSS2/visudet.html#Computing_heights_and_margins

于 2013-02-28T13:30:03.883 回答
2

我发现在类似情况下对我有用的不是设置top:I set margin-top:。这将导致父 div 适当地调整自身大小。

于 2014-02-26T19:32:13.460 回答
0

您可以在 之后添加一个空元素.relative并将其设置height.relative' 的top定位。

于 2013-02-28T13:32:28.783 回答
0

如果你想用 jquery 传递它

var positionToTop = $(".relative").css("top");
$(".relative").parent().css({"top":positionToTop});

我在这里为你分叉了一个 CSSDeck

于 2013-02-28T13:45:22.233 回答