背景颜色不填充div

时间:2013-06-11 23:15:28

标签: html css

例如,我希望我的包装器div具有红色背景颜色,并且当其他div放置在其中时它将填满。

然而,因为它使用margin:auto;并且里面的div是浮动的,颜色不会继续下去。如果我删除自动边距并用float:left替换它;然后颜色将继续应该。

我通过保持我的边距自动并使用overflow:hidden允许颜色向下流动来解决这个问题。但是对于我正在研究的这个网站,我需要保持溢出可见。

还有其他方法可以让它发挥作用吗?另外,如果你知道,你能否解释为什么溢出隐藏的方式会起作用。

谢谢

2 个答案:

答案 0 :(得分:1)

解决方法是将div放在div ...

喜欢这个......

<div id="container"> 

   <div id="colordiv">

   <div></div>
   <div></div>
   <div></div>

  </div>

</div>

如果容器是自动边距'容器',则颜色div为该容器的100%颜色填充。

通过这种方式,您可以将主容器设置为任意宽度,其余部分将跟随,并且颜色会继续到内容

DEMO HERE

ANOTHER DEMO - smaller divs

关于你的溢出问题......我不确定为什么会这样呢

答案 1 :(得分:0)

display: flex将允许背景以与错综复杂的overflow: hidden相同的方式填充。

然后您必须应对:

  • 保证金不会减少-如果这对您很重要
  • 设置对齐方式,如果您已有布局,则可能是琐碎的或复杂的

注意:overflow: hidden的一个缺点是它会破坏粘性定位。