Css 当父div具有背景图像时,如何添加框阴影?
我正在尝试为包含两列文本的div设置一个阴影。我有基本结构:Css 当父div具有背景图像时,如何添加框阴影?,css,html,background,dropshadow,Css,Html,Background,Dropshadow,我正在尝试为包含两列文本的div设置一个阴影。我有基本结构: <div class="box> <div id="container" class="pseudo-box"> <p>This is a box</p> </div> </div> 解决这个问题的一种方法是提供一个背景图像,整个背景图像具有白色渐变,这可以通过以下方式实现: ba
<div class="box>
<div id="container" class="pseudo-box">
<p>This is a box</p>
</div>
</div>
解决这个问题的一种方法是提供一个背景图像,整个背景图像具有白色渐变,这可以通过以下方式实现:
background-image:-webkit-linear-gradient(top, white 0%, white 100%);
这里有一个小把戏:解决这个问题的一种方法是提供一个背景图像,整个背景图像具有白色渐变,这可以通过以下方式实现:
background-image:-webkit-linear-gradient(top, white 0%, white 100%);
这里有一把小提琴:如果你设置了
z-index:1代码>父元素应该允许伪元素在它下面,而不在主体下面
溢出:隐藏
,将切断连接
位置:相对
可用于设置从哪个区域开始,绝对值
子项应取坐标
解决方案是在盒子底部粘贴一个额外的元素,需要半透明。这个额外的元素可以在内部绘制阴影并溢出,从而只保留所需的部分。
如果设置z-index:1代码>父元素应该允许伪元素在它下面,而不在主体下面
溢出:隐藏
,将切断连接
位置:相对
可用于设置从哪个区域开始,绝对值
子项应取坐标
解决方案是在盒子底部粘贴一个额外的元素,需要半透明。这个额外的元素可以在内部绘制阴影并溢出,从而只保留所需的部分。
为什么不在.box元素而不是.pseudo框上放置阴影,如下所示:
.box {
position: absolute;
top: 130px;
left: 0;
right: 0;
min-width: 850px;
bottom: 54px;
overflow: hidden;
background: white url(/u/me/workspace/test2/webdesign/ribbon-horiz.png) top left no-repeat;
border-bottom: solid thin #aaaaaa;
font-size: 16px;
line-height: 150%;
text-align: left;
z-index: 10;
background: white;
}
.pseudo-box{
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#cbcbcb), color-stop(100%,#bfbfbf));
/*background: url(/u/me/workspace/test2/webdesign/ribbon-horiz.png) top left no-repeat;*/
border-radius: 6px;
padding: 10px;
position: absolute;
left: 20px;
right: 20px;
top: 40px;
bottom: 20px;
min-width: 650px;
padding: 0 10px 0 0;
border-top: thin solid #aaa;
border-bottom: thin solid #aaa;
border-left: thin solid #aaa;
border-right: thin solid #aaa;
border-radius: 4px;
}
.box:before,
.box:after {
content:"";
display: block;
position:absolute;
background:#444;
z-index: 0;
bottom: 30px;
left:40px;
width:50%;
height:50%;
max-width:300px;
-webkit-box-shadow:0 10px 5px rgba(0, 0, 0, 0.7);
-moz-box-shadow:0 10px 5px rgba(0, 0, 0, 0.7);
box-shadow:0 10px 5px rgba(0, 0, 0, 0.7);
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
transform:rotate(-3deg);
background-image: none;
}
.box:after {
right:40px;
left:auto;
-webkit-transform:rotate(3deg);
-moz-transform:rotate(3deg);
-o-transform:rotate(3deg);
transform:rotate(3deg);
}
为什么不在.box元素而不是.pseudo框上放置阴影,如下所示:
.box {
position: absolute;
top: 130px;
left: 0;
right: 0;
min-width: 850px;
bottom: 54px;
overflow: hidden;
background: white url(/u/me/workspace/test2/webdesign/ribbon-horiz.png) top left no-repeat;
border-bottom: solid thin #aaaaaa;
font-size: 16px;
line-height: 150%;
text-align: left;
z-index: 10;
background: white;
}
.pseudo-box{
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#cbcbcb), color-stop(100%,#bfbfbf));
/*background: url(/u/me/workspace/test2/webdesign/ribbon-horiz.png) top left no-repeat;*/
border-radius: 6px;
padding: 10px;
position: absolute;
left: 20px;
right: 20px;
top: 40px;
bottom: 20px;
min-width: 650px;
padding: 0 10px 0 0;
border-top: thin solid #aaa;
border-bottom: thin solid #aaa;
border-left: thin solid #aaa;
border-right: thin solid #aaa;
border-radius: 4px;
}
.box:before,
.box:after {
content:"";
display: block;
position:absolute;
background:#444;
z-index: 0;
bottom: 30px;
left:40px;
width:50%;
height:50%;
max-width:300px;
-webkit-box-shadow:0 10px 5px rgba(0, 0, 0, 0.7);
-moz-box-shadow:0 10px 5px rgba(0, 0, 0, 0.7);
box-shadow:0 10px 5px rgba(0, 0, 0, 0.7);
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
transform:rotate(-3deg);
background-image: none;
}
.box:after {
right:40px;
left:auto;
-webkit-transform:rotate(3deg);
-moz-transform:rotate(3deg);
-o-transform:rotate(3deg);
transform:rotate(3deg);
}
但这似乎不允许我使用背景图像。我希望包含文本的div,即psedu框相对于父div基本上是透明的,这样父div的背景图像仍然可见。@Jefftopia背景图像是用于.box还是.pseudo box?您提供给我们的css有两个的背景图像。把它放在pseudo-box上是反复试验的结果。但这似乎不允许我使用背景图像。我希望包含文本的div,即psedu框相对于父div基本上是透明的,这样父div的背景图像仍然可见。@Jefftopia背景图像是用于.box还是.pseudo box?您提供给我们的css有两个的背景图像。把它放在伪盒子上是反复试验的结果。遗憾的是,我已经试过了,但它不起作用。设置z索引仍然将伪元素保留在父元素的顶部,即使父元素的分数较高。同样,只有当父母有背景图像时才是这样,这是我想要的。也更新了你的小提琴。你滥用立场:绝对的,不需要的。信任文档流和您的浏览器:)关于定位,足够公平。你试过你的代码笔和图像吗?这似乎仍然不起作用。我试着通过placekitten在我的小提琴上添加一个图像,但它不起作用。对于任何想知道,是的,这是我第一次尝试网页设计。背景色或背景图像,不是一样吗?这里是bg中的图像(见钢笔更新),所以现在让包含文本的框透明,这样背景就可以通过了。这样做,我的问题就会得到回答!可悲的是,我尝试过这个,但它不起作用。设置z索引仍然将伪元素保留在父元素的顶部,即使父元素的分数较高。同样,只有当父母有背景图像时才是这样,这是我想要的。也更新了你的小提琴。你滥用立场:绝对的,不需要的。信任文档流和您的浏览器:)关于定位,足够公平。你试过你的代码笔和图像吗?这似乎仍然不起作用。我试着通过placekitten在我的小提琴上添加一个图像,但它不起作用。对于任何想知道,是的,这是我第一次尝试网页设计。背景色或背景图像,不是一样吗?这里是bg中的图像(见钢笔更新),所以现在让包含文本的框透明,这样背景就可以通过了。这样做,我的问题就会得到回答!