CSS似乎无法将高度设置为父容器的100%

时间:2011-06-14 16:31:16

标签: css

我想知道为什么高度:这里的100%的高度没有将高度设定为他们的孩子。

http://homecoming.umd.edu/index2.html

?_?

5 个答案:

答案 0 :(得分:2)

您需要在父元素上设置显式的非百分比高度。您目前height:100%上也有<ul>,您会注意到它没有做任何事情。如果它正在工作,你的导航将扩展你的整个页面,因为它的父级是你的包装div包含一堆其他的东西。但是,如果您将<ul>设置为height:40px<li>将会效仿。

height:100%取决于父元素中某处的显式高度集。如果没有任何高度设置除百分比之外的其他任何高度(或者如果每个父元素一直到<body><html>没有设置height:100%),那么它实际上永远不会做任何事情,因为它没有参考高度开始。

答案 1 :(得分:0)

我不确定其他人会得到什么,但是使用FF4和Firebug我可以看到li没有height: 100%;。然而,对于ul而言似乎工作正常。

可能会尝试将height: 100%;放入#nav li的css文件中。此外,那里有一个填充物可能会让你失望。如果它给你带来问题,请务必留意。

编辑:这就是我在Firebug中看到的#nav li

#nav li {
    float: left;
    position: relative;
    width: 9.09%;
}

没有提及高度属性。

答案 2 :(得分:0)

这会解决它(它不会解决'希腊组织'中的重叠)

#nav { height: 44px; }
#nav a { height: 30px; }

答案 3 :(得分:0)

  

我有点希望身高   由高度明确设置   容器。就像,我们曾经   一些人需要一个100字的标题   这是理所当然的原因,它会自动发生   做到这一点。

如果我正确理解这一点,这就是你提出这个问题的真正原因,只需将#nav设置为“height:auto;”并且,如果你想让它至少达到一定的高度,请使用“min-height:44px;”

答案 4 :(得分:-1)

CSS中100%的高度有时会很棘手,因为它取决于父容器的大小。 Here are some similar questions/answers可能有所帮助。