Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何通过CSS在可变高度的内容区域上具有复杂的阴影背景?_Html_Layout_Css_Css Float - Fatal编程技术网

Html 如何通过CSS在可变高度的内容区域上具有复杂的阴影背景?

Html 如何通过CSS在可变高度的内容区域上具有复杂的阴影背景?,html,layout,css,css-float,Html,Layout,Css,Css Float,我试图建立一个复杂的阴影背景上可变长度的内容部分的网站。我已经尝试了我所知道的每一个技巧来让它工作,只是不知道如何让它工作的权利。我希望这里的CSS忍者能有所帮助 你可以在这里看到我试图实现的一个例子: 正如您所看到的,顶部和底部阴影很简单。左右两侧的阴影是麻烦制造者。顶部和底部150px与中心部分不同,中心部分需要随着中心内容的垂直增长而扩展 这里是它变得非常棘手的地方:这些阴影必须有一个透明的背景,因为背景不是实心的(就像在这个示例图像中高亮显示阴影一样),并且因为长度是可变的,所以您永远不

我试图建立一个复杂的阴影背景上可变长度的内容部分的网站。我已经尝试了我所知道的每一个技巧来让它工作,只是不知道如何让它工作的权利。我希望这里的CSS忍者能有所帮助

你可以在这里看到我试图实现的一个例子:

正如您所看到的,顶部和底部阴影很简单。左右两侧的阴影是麻烦制造者。顶部和底部150px与中心部分不同,中心部分需要随着中心内容的垂直增长而扩展

这里是它变得非常棘手的地方:这些阴影必须有一个透明的背景,因为背景不是实心的(就像在这个示例图像中高亮显示阴影一样),并且因为长度是可变的,所以您永远不知道端点封口将落在背景图案上的什么位置。正因为如此,我不能仅仅用一个重复的阴影来制作整个东西,然后用顶部和底部的部分覆盖在上面


对于如何实现这一目标的任何建议/想法/灵感,我们将不胜感激。CSS3的使用还可以。

这使用了CSS3,因此它在IE8或更早版本中无法工作,但我想我已经写了一些您可以使用的东西。您可以看到一个正在运行的演示。(只需展开并收缩浏览器窗口即可查看其工作情况)

我看到有人提到使用边框图像,但这种方式不需要图像,并且有更好的浏览器支持(尤其是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;
}

也许研究边框图像:考虑使用CSS媒体查询为不同大小的浏览器窗口(也就是块的大小)使用不同的样式。@ MaratTanalin不是浏览器窗口的大小,而是取决于垂直增长的主区域内内容的大小。哇!非常感谢你!这是一个很好的解决方案。