我正在尝试在网站的可变长度内容部分构建复杂的阴影背景。我已经尝试过我所知道的每一个技巧来完成这项工作,而且无法弄清楚如何让它正常工作。我希望这里的CSS忍者可以提供帮助。
您可以在此处查看我要完成的示例:http://mpgnet.com/example.jpg
如您所见,顶部和底部阴影很容易。右侧和左侧的阴影是麻烦制造者。顶部和底部150px与中心部分不同,中心部分需要随着中心内容的垂直增长而扩展。
这里它变得非常棘手:这些阴影必须具有透明背景,因为背景不是实心的(因为在这个示例图像中突出显示阴影),并且因为长度是可变的,所以你永远不知道端盖将落在背景图案上。因此,我不能用重复的阴影制作整个东西,然后用顶部和底部覆盖它的顶部。
任何有关如何实现这一目标的建议/想法/灵感都表示赞赏。 CSS3用法还可以。
答案 0 :(得分:9)
这使用CSS3所以它在IE8或更老版本中不起作用,但我想我写过你可以使用的东西。您可以看到有效的演示here。 (只需展开和收缩浏览器窗口,看它是否有效)。
我看到有人提到使用border-image但这种方式不需要图像并且具有更好的浏览器支持(特别是IE9)。
我没有做顶部和底部阴影,因为那些不需要在你的设计中展开和收缩。
.shadowbox {
position: relative;
margin: 100px auto;
width: 80%;
}
.shadowbox:after {
position: absolute;
content: '';
top: 10px;
bottom: 10px;
left: 0;
width: 20px;
box-shadow: 0px 0px 15px rgba(0,0,0,0.7);
border-radius: 50%;
}
.shadowbox:before {
position: absolute;
content: '';
top: 10px;
bottom: 10px;
right: 0;
width: 15px;
box-shadow: 0px 0px 15px rgba(0,0,0,0.7);
border-radius: 50%;
}
.shadowbox.content {
position: relative;
z-index: 1;
background: #fff;
padding: 30px;
z-index: 10;
}