我几乎可以肯定,它是不可能在CSS3创建这样的阴影,但我请求,以防万一有人尝试,并找到了一个方法:是否可以在CSS3中创建类似的阴影?
我有侧边栏的权利(有限的高度)和更长的内容左边。阴影在开始时淡入淡出。这个影子可以纯粹是程序性的吗(完全没有光栅图像)?
我几乎可以肯定,它是不可能在CSS3创建这样的阴影,但我请求,以防万一有人尝试,并找到了一个方法:是否可以在CSS3中创建类似的阴影?
我有侧边栏的权利(有限的高度)和更长的内容左边。阴影在开始时淡入淡出。这个影子可以纯粹是程序性的吗(完全没有光栅图像)?
您可以使用径向渐变,像这样:
#leftshadow
{
margin-left: 10px;
height: 200px;
width: 20px;
border-left:1px solid #ebebeb;
border-left:1px solid rgba(0,0,0,0.4);
background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.3)),to(rgba(0,0,0,0)));
-webkit-mask-box-image:-webkit-gradient(linear,left top,right bottom,color-stop(0.0,rgba(0,0,0,0)),color-stop(0.5,rgba(0,0,0,.8)),color-stop(1.0,rgba(0,0,0,0)));
background-image:-moz-radial-gradient(left,ellipse farthest-side,rgba(0,0,0,.3),rgba(0,0,0,0));
}
原来的答案
如果你需要一个“简单”的插图影子你也可以做到这一点,像这样:
#leftshadow
{
-webkit-box-shadow: inset 5px 0px 5px -2px rgba(0,0,0,0.4);
-moz-box-shadow: inset 5px 0px 5px -2px rgba(0,0,0,0.4);
box-shadow: inset inset 5px 0px 5px -2px rgba(0,0,0,0.4);
}
.box {
z-index: 100;
border: none;
padding: 0 0 0 10px;
background-image: url("images/topShadow"), url('images/bottomShadow'), url('images/shadow');
background-position: 0 top, left top, 0 bottom;
background-repeat: no-repeat, repeat-x, no-repeat;
}
确定这是未经测试,但应该有一些调整,我没有时间工作因为目前。你有3个图像,顶部,中部和底部。您可以使用CSS3多个背景图像将其用作左边框,只需在框左侧添加一些填充。顺序非常重要,因为它处理图像的分层。第一个将在所有其他人之上。该顺序充当图像的z索引。
谢谢你的回答!这就是我现在使用的解决方案,但是因为有像Retina显示器或iPad3的Macbook等设备,而且还有更多 - 光栅图像不能很好地工作。最好用CSS3来替换所有的东西。再次感谢! :) – Atadj 2012-07-27 10:24:43
这是我讲的,也就是分层二级分度,一道白影的伎俩:
它不是完美的,但你可以调整它来满足您的需求,我想。
这里的HTML:
<div id="main">
<div id="cheat"></div>
</div>
这里的CSS:
#main
{
width: 100px;
height: 300px;
-webkit-box-shadow: inset 10px 0px 5px -2px #888 ;
position: relative;
}
#cheat {
width: 300px;
height: 300px;
-webkit-box-shadow: inset 10px 0px 5px -50px white ;
position: absolute;
left: -100px;
}
注:也许你可以使用多个盒子阴影,但它没有被广泛支持。
谢谢你的回答。我主要关心那个影子的顶部和底部。软启动,而不是硬边缘。 – Atadj 2012-07-27 10:21:38
这是最接近我可以做:
div {
width: 300px;
height: 600px;
border: solid 1px;
box-shadow:
inset 0px 10px 10px #fff,
inset 0px -10px 10px #fff,
inset 10px 0px 20px rgba(0, 0, 0, .3);
}
现场演示:Tinkerbin
这是非常接近的... – 2012-07-27 10:06:54
谢谢你的回答!这是非常接近,但仍然有整个容器内的顶部和底部阴影。无论如何,谢谢你:)这个解决方案已经被发现真是太好了。我没有想到这可以使用纯粹的CSS3来完成。 – Atadj 2012-07-27 10:23:12
试试这个 http://jsfiddle.net/6QSEc/1/
div{
height:200px;
width:100px;
background-color:white;
border:1px solid #f1f1f2;
box-shadow:10px 0px 20px -10px rgba(0,0,0,0.5) inset;
}
谢谢你的回答。我主要关心那个影子的顶部和底部。软启动,而不是硬边缘。 – Atadj 2012-07-27 10:25:30
也许你可以通过在加入了白色的影子骗底部和顶部 – BiAiB 2012-07-27 09:56:55
http://www.css3。info/preview/box-shadow/ – SpaceBeers 2012-07-27 09:57:33
@BiAiB这就是我要找的那种技巧。可能有多个渐变或多个阴影。 – Atadj 2012-07-27 10:02:26