我有两列可以自适应高度,设计师想在两列之间添加阴影,但是你能看到图片在顶部和底部逐渐淡出。这意味着我不能简单地使用左对齐的背景图像来实现。因此,我想也许可以使用具有径向渐变的CSS 3边框阴影。我可能会使用表格单元格来做这件事,因为我需要阴影延伸到最高列的高度。如何操作呢?
之前的回答并没有真正回答你的问题:“如何创建一个径向的CSS3边框渐变阴影”
您可以使用径向渐变来模拟无需图片的边框阴影。
演示:http://jsfiddle.net/sonic1980/wRuaZ/
background: -webkit-radial-gradient(50% 0%, 50% 5px, #aaa 0%, white 100%);
| | | |
| | | +--> color end
| | +--> color start
| +--> size of gradient ellipse (x-axis, y-axis)
+---> position of ellipse center
很容易进行修改以使其垂直或使用:before或:after伪类实现。
另一个例子是,带有阴影的<hr>
标签:http://jsfiddle.net/sonic1980/65Hfc/
我想我只会使用图像,并在 div 上设置最小高度 :-)
.column.right {
padding-left: 30px;
background: url(/img/shadow.png) no-repeat left top;
min-height: 265px;
}
另一种解决方案实际上允许动态高度列,但它只支持IE8+。
您需要做的是应用一个background-image
定位到最高列的边缘。然后,您可以使用:before
和:after
伪元素,将其设置为absolute
定位,分别为top:0;
和bottom:0
,以设置阴影的“顶部”和“底部”。
明白了吗?这里有一个JSFiddle,它使用边框和文本而不是图像来显示它。
当然,JSFiddle中div
的height
参数无关紧要;它可以是min-height
或不存在。我只是设置它来给div
一些大小。
-webkit-
…这一行替换为radial-gradient(ellipse farthest-side at 50% 0%, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%)
,以使其在标准和跨浏览器的方式下工作。 - Sebastian Simon