转载自:
http://paranimage.com/css3-box-shadow-property-tutorial/
CSS3的box-shadow属性可以让我们轻松实现图层阴影效果。我们来实战详解一下这个属性。
1. box-shadow属性的浏览器兼容性
先来看一个这个属性的浏览器兼容性:
Opera: 不知道是从哪个版本开始支持的,我在发这篇文章测试的时候,正好更新了Opera到最新的10.53版本,已经支持box-shadow属性。
firefox通过私有属性-moz-box-shadow支持。
Safari和Chrome通过私有属性-webkit-box-shadow支持。
所有IE不支持(不知道IE9是否有所改善)。别急,我们将在文章最后会介绍一些针对IE的Hack。
2. box-shadow属性的语法
box-shadow有六个可设值:
img{box-shadow:阴影类型 X轴位移 Y轴位移 阴影大小 阴影扩展 阴影颜色 }
当不设阴影类型时,默认为投影效果。当设为inset时,为内阴影效果。
X轴和Y轴位移不等同但类似于photoshop里面的”角度”和”位置。
阴影大小、扩展、颜色和Photoshop里面的都同理。
3. 实例解析
让我们通过几个实例来看一个box-shadow的效果,先弄个简单的html供测试:
<html>
<head>
<style type="text/css">CSS部份写在这里</style>
</head>
<body>
<img src="test.jpg" />
</body>
</html>
请注意:为了省事儿,下面的CSS代码中只写了box-shadow,在实际使用中,你应该把-moz-box-shadow和-webkit-shadow也写上。你需要做的很简,复制两个box-shadow,在它们前面分别加上-moz-和-webkit-。
引用
img {
-moz-box-shadow:2px 2px 10px #06C;
-webkit-box-shadow:2px 2px 10px #06C;
box-shadow:2px 2px 10px #06C;
}
(1). 投影,没有位移,10px的阴影大小,没有扩展,颜色#06C
引用
img{box-shadow:0 0 10px #06C;}
这里的颜色值是HEX值,我们还可以使用RGBA值,RGBA值的好处是,它多了一个Alpha透明值,你可以控制阴影的透明度。
引用
img{box-shadow: 0 0 10px rgba(0, 255, 0, .5)}
(2). 在上面的基础上加上20px的扩展
引用
img{box-shadow:0 0 10px 20px #06C;}
(3). 内阴影,无位移,10px大小,没有扩展,颜色#06C
引用
img{box-shadow:inset 0 0 10px #06C;}
(4). 多重阴影效果
box-shadow可以同时使用多次,我们来个四色的阴影。
引用
img{box-shadow:-10px 0 10px red, box-shadow:10px 0 10px blue,box-shadow:0 -10px 10px yellow,box-shadow:0 10px 10px green}
(5). 使用多个阴影属性的顺序问题
当给同一个元素使用多个阴影属性时,需要注意它的顺序,最先写的阴影将显示在最顶层。比如下面这段代码,我们先写一个10px的绿色阴影,再写一个10px大小但扩展20px的阴影。结果是:绿色阴影层在黄色阴影层之上。
引用
img{box-shadow:0 0 10px green;box-shadow:0 0 10px 20px yellow}
但如果我们把顺序调一下,像这样:
引用
img{box-shadow:0 0 10px 20px yellow,box-shadow:0 0 10px green;}
我们将看不到后写的绿色阴影层,因为它先写且半径比较大的黄色层覆盖掉了。
4. 让IE也支持box-shadow
IE本身是shadow滤镜可以实现类似效果的,还有一些js和.htc的hack文件可以帮助你在IE中实现这一效果。我也无法一一都去尝试,这里只介绍我用过的一个。
ie-css3.htc 是一个可以让IE浏览器支持部份CSS3属性的htc文件,不只是box-shadow,它还可以让你的IE浏览器支持圆角属性border-radius和文字阴影属性text-shadow。
它的使用方法是:下载它并放到你的服务器目录
在你的<head></head>里面写入下面的代码:
引用
<!--[if IE]> <style type="text/css"> img, #testdiv, .testbox{behavior: url(http://yourdomain.com/js/ie-css3.htc);} </style> <![endif]-->
蓝色部份输入要使用box-shadow属性的选择器,绿色部份输入ie-css3.htc的绝对路径,或相对路径,反正要保证能访问得到。
然后这样就OK了。但还是有几点需要注意的是:
- 当你使用了这个htc文件后,你的CSS里面,只要写有box-shadow, -moz-box-shadow或-webkit-box-shadow的任何一种,IE就会渲染。
- 当使用了这个htc文件后,你不能这样写box-shadow: 0 0 10px red; 而应该是box-shadow: 0px 0px 10px red; 否则IE中会失效。
- 不支持RGBA值中的alpha透明度。
- 不支持inset内阴影。
- 不支持阴影扩展。
- 阴影在IE中只会显示为黑色,不管你设置成其它什么颜色。
所以说,这个脚本了仅仅是让IE支持了部份的box-shadow值。
- 大小: 14.9 KB
- 大小: 17.2 KB
- 大小: 13.6 KB
- 大小: 16.3 KB
- 大小: 15.3 KB
- 大小: 14.9 KB
分享到:
相关推荐
CSS3的box-shadow属性是CSS3新增的一个特性,它允许开发者在网页元素上添加阴影效果,类似于Photoshop等图像处理软件中为图层添加阴影。这种阴影效果能增加元素的立体感和深度感,提升用户界面的美观度。 box-...
内阴影,内发光,阴影,外发光转换成CSS的box-shadow属性。您可以在浏览器中看到的结果样式,并与其他人分享。它适用于Windows或Mac OS X和Photoshop CS3及更高版本。最重要的是,它是完全免费的!
CSS3的图层阴影和文字阴影是网页设计中增强视觉效果的重要工具,它们通过`box-shadow`和`text-shadow`属性实现。这两种阴影效果在基本使用上非常相似,都依赖于X轴和Y轴坐标来定义阴影的位置和扩展。 首先,我们来...
在本篇内容中,我们将深入探讨如何利用CSS3实现图片的浮雕效果,这种效果可以为网页增添一种立体感和深度,使图片更具吸引力。 首先,我们需要理解浮雕效果的基本概念。浮雕效果通常表现为图像的边缘部分呈现出阴影...
总结来说,实现翘边阴影需要对CSS的`box-shadow`属性有深入理解,同时了解如何在图形编辑软件和JavaScript库中创建类似效果。通过实践和调整,你可以创造出具有独特视觉吸引力的翘边阴影效果,提升用户界面的质感和...
2. **边框阴影** (`box-shadow`): CSS3的`box-shadow`属性可以给元素添加阴影效果,包括水平和垂直偏移量、模糊半径和颜色。通过调整这些参数,可以创建出立体按钮的阴影效果,使其看起来具有深度。 3. **渐变** (`...
3. **阴影和光照**:盒阴影(box-shadow)和文字阴影(text-shadow)可以创建立体感,而内发光(inset shadow)和外发光(outset shadow)则能模拟光照效果。 4. **转换和动画**:transform属性可实现元素的旋转、缩放、平...
- **边框阴影**:使用box-shadow属性可以为元素添加阴影效果,增强视觉层次感。 #### 五、CSS3过渡与动画 - **过渡**:通过transition属性可以设置元素属性变化时的过渡效果,如淡入淡出、缩放等。 - **动画**:...
6. Text-shadow和box-shadow属性使得开发者可以通过简单的CSS代码为文本和图层添加阴影效果,从而提升视觉效果。 在HTML5的新特性和属性方面,以下是一些重要的点: 1. HTML5的文档声明简化为<!DOCTYPE html>,...
阴影效果(box-shadow 和 text-shadow)也为我们提供了更多维度的设计可能,使元素看起来更有立体感。 此外,CSS3的文本处理功能也得到了显著增强。文本阴影、文本装饰(text-decoration-line、text-decoration-...
2. **边框与背景**:渐变(linear-gradient, radial-gradient)、阴影(box-shadow, text-shadow)以及多个背景图层。 3. **布局**:Flexbox(弹性盒模型)和Grid(网格布局)提供了更灵活的页面布局方式。 4. **...
4. **阴影效果**:`box-shadow`和`text-shadow`属性在按钮、标题和其他元素上应用阴影效果,增加立体感和层次感。 5. **动画效果**:利用`@keyframes`规则创建自定义动画,如淡入淡出、滑动等,增强用户的互动体验...
2. **阴影(Box Shadow)**:`box-shadow`属性可以给元素添加阴影效果,模拟立体感。例如,`box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);`表示在元素的右下角添加一个向内偏移2像素,模糊半径为5像素的黑色阴影。 ...
同时,利用`box-shadow`可以添加阴影效果,增强立体感。 2. **过渡与动画**:CSS3的`transition`属性允许元素在不同状态间平滑过渡,如颜色、大小等的变化,而`animation`则可以创建复杂的动画效果,提升用户体验。...
为了实现无图层的3D旋转,CSS3的`perspective`属性也可能被用到,它为观察者设定了一个虚拟的观察距离,使得3D变换看起来更真实。 此外,CSS3的伪类和伪元素也可能是构建iPhone模型的关键。例如,开发者可能利用`:...
5. **边框和背景**:CSS3的边框-radius属性可创建圆角,box-shadow属性添加阴影效果,而background-image和linear-gradient则支持渐变背景,这些都极大地丰富了创意媒体模板的视觉表现力。 6. **字体和文本样式**:...
1. **阴影效果**:`box-shadow`和`text-shadow`分别用于元素的边框和文本阴影。 2. **透明度**:`opacity`属性可以调整元素的整体透明度。 3. **过渡和动画**:`transition`定义元素在不同状态间改变时的平滑过渡...
阴影效果可以通过`box-shadow`属性实现,例如:`box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);`,这将为元素添加一个下拉阴影,增强视觉深度。 其次,JavaScript(js)常用于实现动态交互效果,如悬停、点击响应,...