我想利用我正在处理的网站的新CSS3框阴影功能.问题是,如果内部有img(边框在图像区域周围隐藏),Chrome 9.0.5和Opera 10无法正确渲染插入边框.
我知道box-shadow仍在进行中,但我希望浏览器能够完全支持它或完全忽略它.
<!doctype html>
<html>
<head>
<style>
div {
border: 1px solid black;
width: 300px;
height: 200px;
overflow: hidden;
// CSS3 inset shade
-moz-box-shadow: inset 0 0 20px red;
-webkit-box-shadow: inset 0 0 20px red;
box-shadow: inset 0 0 20px red;
}
</style>
</head>
<body>
<div>
<img src="http://www.google.com/images/logos/ps_logo2.png" width="364" height="126" alt="" />
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有人知道一些解决方法来正确渲染红色阴影吗?
谢谢!
编辑:我对答案很满意,但只是想添加一个实时链接来帮助其他人.这里是
Sha*_*una 19
使用插入时,框阴影位于堆叠顺序的背景上方.因此,div中的任何图像都将覆盖阴影.
根据W3C规范
在堆叠上下文和绘制顺序方面,元素的外部阴影直接绘制在该元素的背景下方,元素的内部阴影直接绘制在该元素的背景上方(在边框和边框图像下方,如果有的话).
换句话说,Chrome和Opera正确地做到了(FTR,FF 3.6.13和Opera一样).
如果您希望阴影与图像重叠,则根据您的需要,您可以选择几种不同的选项:
background为div 的属性.小智 11
有一个更好的解决方案 - 只需在你的img上设置这个CSS.
img {
z-index: -1;
position: relative
}
Run Code Online (Sandbox Code Playgroud)
示例:http: //trentwalton.com/2010/11/22/css-box-shadowinset/
| 归档时间: |
|
| 查看次数: |
15817 次 |
| 最近记录: |