日期:2014-05-17  浏览次数:20611 次

关于背景色显示问题
在两个嵌套的类样式中,父样式定义了背景色,当子样式中定义了float:属性时,父样式的背景色显示不出,而取消子样式中的float:属性时就可以显示父样式定义的背景色。
比如:
<div id="ys1">
<div id="ys2">
aaaa
</div>
</div>
其中#ys1为定义了背景色的父样式。#ys2为定义了float:属性的子样式。
有什么办法在不取消#ys2的float:属性的情况下显示#ys1的背景色?

------解决方案--------------------
你给父层 一个 float 或者 overflow:hidden 一样有效果的

------解决方案--------------------
引用:
为什么会出现这种现象?

因为当子样式中定义了float:属性时,这个子元素就不是常规文档流的一部分,
使得父元素不能在高度上包裹住子元素,父元素的高度变小或变为0,
当父元素的高度变为0时,当然就看不到父元素的背景色了,
你给父元素加一个边框样式 border:1px solid,
就能够看到父元素没有了高度变成一条线了
------解决方案--------------------
查阅 清浮动