2015-11-25 142 views
2

我正在尝试使html和css的DEMO。我给背景颜色div它工作正常。但是,当我将位置属性赋予其子项时,背景色属性不起作用。为什么?为什么背景颜色不显示?

例如,当我删除这个属性在UL背景色display.But当我将此属性UL然后背景颜色不显示为什么?

ul{ 
position:absolute; 
right:0px; 
} 

代码

<div style="background:blue;position:relative"> 
<ul><li><a></a>aa</li><li><a>h</a></li></ul> 

</div> 

回答

4

与所有的div的内容绝对定位,在div实际上并不具有高度。您需要手动设置div的高度。

如果div的内容全部浮动,则会发生类似的情况;然而,对此的解决方法是在包含div上使用overflow:hidden;。你可以在this fiddle上看到这个演示。它实际上产生了我假设你试图达到的结果。

<div style="background:blue;position:relative;overflow:hidden;"> 
    <ul><li><a></a>aa</li><li><a>h</a></li></ul> 
</div> 



ul{ 
    float:right 
}