解决思路:一、移除默认颜色(去色操作);二、利用CSS3滤镜filter中的属性drop-shadow。
要使用标准的 css3 实现某元素的投影效果,有两个方法,第一个就是使用常见的 box-shadow ,第二个就是使用 css3 的 filter 阴影滤镜 drop-shadow。
所以:
通通不行,实现遇到了巨大的阻碍。
后来想,如果我实体部分也在可视区域内,但是是透明的,会怎样呢(反正不会有投影出来)
于是,就尝试了经常带来意外惊喜的透明边框,结果是可喜的
因此,下面这一个 css 声明式千万不能少的:
关于兼容性
IE13+ 支持,Chrome 和 FireFox 浏览器支持,移动端 ios 支持,Android 4.4+ 支持。也就是,基本上,移动端现在可以使用这种技术了。
另:
用CSS做图层的投影效果,css2是做不到的,在css3中,我们可以通过box-shadow 内阴影与外阴影来实现,用法是,E {box-shadow:inset x-offset y-offset blur-radius spread-radius color},对象选择器 {text-shadow:投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色};这里我们通过代码来理解:
<html>
<head>
<style>
#nav{
width:900px
height:30px
-moz-box-shadow:5px 5px 5px #999 inset
-webkit-box-shadow:5px 5px 5px #999 inset
box-shadow:5px 5px 5px #999 inset
}
</head>
<body>
<div class="nav" >
</div>
</body>
</html>
效果如图:
box-shadow: 1px 1px 3px #ccc inset阴影水平偏移值(可取正负值);阴影垂直偏移值(可取正负值);阴影模糊值;阴影颜色;
inset为内阴影