我试图用css3实现这个效果:

HTML代码很简单
...
<header>
...
</header>
<div id="wrapper">
...
</div>
...
Run Code Online (Sandbox Code Playgroud)
而目前,css就是这样的
header {
display: block;
width: 900px;
height: 230px;
margin: 0 auto;
border: 1px solid #211C18;
...
box-shadow: 2px 4px 20px #005377;
-moz-box-shadow: 2px 4px 20px #005377;
-webkit-box-shadow: 2px 4px 20px #005377;
}
#wrapper {
width: 820px;
margin: 0 auto;
...
border-right: 1px solid #211C18;
border-bottom: 1px solid #211C18;
border-left: 1px solid #211C18;
...
box-shadow: 2px 4px 20px #005377;
-moz-box-shadow: 2px 4px 20px #005377;
-webkit-box-shadow: 2px 4px 20px #005377;
}
Run Code Online (Sandbox Code Playgroud)
为了获得理想的结果,我需要:
我一直在阅读很多关于盒子阴影的内容,但我还没有找到一个让我高兴的解决方案......任何想法?
Pat*_*Pat 15
这个jsfiddle做你想要的.
它的工作方式是使用一个主#wrap元素,使内容居中,并为绝对定位的#main元素创建一个坐标图.这是因为它的位置:相对CSS规则.您最终得到以下标记:
<div id="wrap">
<header></header>
<div id="main"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
将header然后被放置的这个内部和给定位置:相对于和z索引来设置它层叠上述#main容器.
最后#main绝对位于下方header.CSS看起来像这样:
/* centre content and create coordinate map for absolutely positioned #main */
#wrap {
width: 300px;
margin: 20px auto;
position: relative;
}
header, #main {
background: #fff;
/* rounded corners */
border: 1px solid #211C18;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
/* dropshadows */
box-shadow: 2px 4px 20px #005377;
-moz-box-shadow: 2px 4px 20px #005377;
-webkit-box-shadow: 2px 4px 20px #005377;
}
header {
display: block;
width: 300px;
height: 50px;
/* stack above the #main container */
position: relative;
z-index: 2;
}
#main {
width: 200px;
height: 70px;
/* stack below the header and underlap it...if that's even a word */
position: absolute;
z-index: 1;
top: 40px;
left: 50px;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16290 次 |
| 最近记录: |