容器div上的CSS框阴影会导致滚动条

前端之家收集整理的这篇文章主要介绍了容器div上的CSS框阴影会导致滚动条前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个网站,其中包含以下设置:
<div id="container">
   <div id="header"></div>
   <div id="content"></div>
   <div id="clearfooter"></div>
</div>
<div id="footer"></div>

内容不足时,我使用clearfooter和容器外部的页脚将页脚保持在页面底部.

我的问题是我想以下列方式在容器div上应用一个盒子阴影:

#container {width:960px; min-height:100%; margin:0px auto -32px auto; 
           position:relative; padding:0px; background-color:#e6e6e6; 
           -moz-Box-shadow: -3px 0px 5px rgba(0,.8),3px 0px 5px rgba(0,.8);}
#header   {height:106px; position:relative;}
#content   {margin:0px; padding:10px 30px 10px 30px; position:relative;}
#clearFooter {height:32px; clear:both; display:block; padding:0px; margin:0px;}
#footer   {height:32px; padding:0px; position:relative; width:960px; 
           margin:0px auto 0px auto;}

正如你可以看到它在容器div的每一侧都有一个阴影.然而,在这样做时,当内容没有占据整个高度时,由于模糊,阴影推动经过页脚的底部仍然存在滚动条.

有没有办法防止阴影越过容器div的边缘并导致滚动条?

谢谢你的帮助!

解决方法

Webkit最近改变了它的行为,如下所述:
http://archivist.incutio.com/viewlist/css-discuss/109662

事实上,截至今天,它仍然是Gecko和其他浏览器的问题.

我设法使用负边距修复Gecko上的这个令人讨厌的问题,这也适用于所有其他浏览器.

让我们假设你有一个屏幕宽的元素(E),盒子阴影应用零偏移和模糊半径R.假设你正在处理水平滚动条问题,因为阴影导致元素E重新加宽宽度.

>用辅助包装元素包裹E(W)
>设置溢出:隐藏在W上
>设置填充:W上的R 0 R 0
>设置边距:W上的-R 0 -R 0

我们的想法是使用隐藏的溢出来剪掉左侧和右侧有问题的阴影.然后使用填充负边距技巧不剪辑顶部和底部阴影,并将框保持在HTML流中的相同位置.

您可以调整此技术以剪切出有问题的阴影框的任意一侧.

猜你在找的CSS相关文章