我期待降低外部依赖 - 尤其是用CSS特效替换图像尽可能,如在这种情况下:如何创建这个有角度的阴影(没有图像)?
HTML和CSS(as this fiddle shows)如下。
HTML
<div id="one">
<div></div>
</div>
CSS
#one{
width: 940px;
height: 350px;
padding: 0 10px;
margin: 10px 0;
position: relative;
}
#one{
background-image: url("http://webhost.ischool.uw.edu/~joatwood/portfolio/images/slider-shadow.png");
}
#one > div{
background-color: purple;
width: 100%;
height: 100%;
}
我正在寻找做到的,是让这三样东西:
- 其脱落的元素只在倾斜的阴影左边和右边(不能隐藏上溢,否则此元素内的其他伪元素必须延伸到其边缘以外)
- 阴影应该从黑色渐变为白色,因为它是远离中间垂直
- 影子不应该直接使用边缘 - 它应该是有点模糊,像一个影子是,如果你申请
box-shadow: 5px 5px 5px
我已经试过两种方法,到目前为止,无论这些都完全成功:
- I used
transform: skewX
on two container-sized pseudo-elements与渐变背景 - 它在完全成功#1和#2,但我无法想出一个方法来实现#3。 - I used
transform: rotate
on the afore-mentioned pseudo-elements并尝试应用一些盒子阴影来模拟模糊 - 这种尝试只能用#3成功,并且根本没有工作,就#1和#2而言。
我很好使用CSS3,只要它在目前的主流浏览器(火狐,Chrome),但因为他们被用于我不能申请任何伪元素内<div>
页面上的另一个设计元素。
添加一个'box-shadow',并覆盖三角形以通过':before' /':after'屏蔽它? –
@JoshC [喜欢这个](http://jsfiddle.net/GXe5R/3/)?除了“盒子阴影”看起来很奇怪(奇怪的深黑色线条)的裁剪之外,我不能限制“盒子阴影”垂直延伸,也不能让阴影更接近/更轻,因为它距离容器中间垂直。 – Nightfirecat
是的,那看起来不太好..我发现了一篇有趣的文章。我没有意识到你可以有多个'盒子阴影'线.. http://nicolasgallagher.com/css-drop-shadows-without-images/demo/ –