0

我有以下标记。

<!DOCTYPE html>
<html lang="en">
<body>
<div id="wrapper">
<div id="container">
<div id="navigation">
</div>
</div>
</div>
</body>
</html>

使用以下 CSS

body
{
width: 100%;
background-color: #E4E4E4;
font-size: 16px;
line-height: 19px;
font-family: Cambria, Georgia, serif;
}

div#wrapper
{
width: 960px;
margin: 0 auto;
background-image: url("nav_bg.png");
background-repeat: no-repeat;
background-position: center 219px;
}

div#container
{
width: 920px;
background-color: #F9EADE;
box-shadow: 0 0 15px 5px rgb(31, 73, 125);
margin: 0 auto;
}

div#navigation
{
height: 50px;
margin-bottom: 200px;
background-color: rgb(31, 73, 125);
box-shadow: 0px 10px 4px -4px rgba(0, 0, 0, 0.8);
}

nav_bg.png 是这个

在此处输入图像描述

我在左下角和右下角得到白色的无阴影空间

在此处输入图像描述

如果我将代码更改为此

div#navigation
{
height: 50px;
margin-bottom: 200px;
background-color: rgb(31, 73, 125);
box-shadow: 0px 10px 4px 0px rgba(0, 0, 0, 0.8);
}

我在左右两侧得到了额外的阴影。

在此处输入图像描述

如果我从 div#navigation 中删除背景颜色和边框阴影,如下所示。

div#navigation
{
height: 50px;
margin-bottom: 200px;
}

我明白了

在此处输入图像描述

抱歉,我之前把这个问题搞砸了。

4

2 回答 2

2

你也可以让 div 稍微宽一点,这样它就可以到达两侧。如果您可以显示代码,我可以告诉您如何操作。

编辑:只需在导航的左右添加负边距并添加宽度,这样它就可以到达您需要的两侧

margin: 0 -20px 200px;
width: 947px;

EDIT2:如果这不起作用,那么您没有显示某些内容或者您做错了。

body
{
width: 100%;
background-color: #E4E4E4;
font-size: 16px;
line-height: 19px;
font-family: Cambria, Georgia, serif;
}

div#wrapper
{
width: 960px;
margin: 0 auto;
background-image: url("oBecq.png");
background-repeat: no-repeat;
background-position: center 219px;
}

div#container
{
width: 920px;
background-color: #F9EADE;
box-shadow: 0 0 15px 5px rgb(31, 73, 125);
margin: 0 auto;
height: 500px;
}

div#navigation
{
height: 50px;
margin: 0 -10px 200px;
background-color: rgb(31, 73, 125);
box-shadow: 0px 10px 4px -4px rgba(0, 0, 0, 0.8);
top: 219px;
position: relative;
width: 950px;
}
于 2012-08-17T07:26:47.033 回答
1

这是因为您将阴影扩展属性设置为 -4px(第四个数字)

将其设置为 0,它将按您的意愿显示。

box-shadow: 0 10px 2px 0px rgba(0, 0, 0, 0.8);

http://jsfiddle.net/Kyle_Sevenoaks/evd4K/

于 2012-08-17T07:22:19.627 回答