CSS box-shadow
2017-02-13 16:09
218 查看
box-shadow是CSS3的特性,可以通过这个特性指定阴影的位移距离、颜色、模糊程度、扩散程度,同样也支持内阴影,从而打造出阴影或者光晕的效果。
今天我在写一个开关(switch)的纯CSS实现时,发现很多地方都用到了box-shadow,然后就定下了今天的博文内容:P~
标准语法:
{box-shadow: inset x-offset y-offset blur-radius spread-radius color}
相对应的也就是:
{box-shadow: 投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色}
box-shadow属性可以向图层添加一个或多个阴影,如果需要添加多个阴影,则需要使用逗号“,”分开。
说明
一共有六个特性值。值与值之间需要以至少一个空格进行间隔。
inset:该值为可选值,如果不设值的话,默认的投影方式是外阴影,如果设置阴影类型为“inset”,则其投影方式为内阴影。
x-offset:指的是阴影水平偏移量,该值可以是负的也可以是正的,如果为正值,则阴影在元素的右边;如果为负值,则阴影在元素的左边。该值为必要值。
y-offset:指的是阴影垂直偏移量,该值可以是负的也可以是正的,如果为正值,则阴影在元素的下面;如果为负值,则阴影在元素的上面。该值为必要值。
blur-radius:该值为可选值,其值只能为正值,设置值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊。
spread-radius:该值为可选值,该值可以是负的也可以是正的,如果为正值,则整个阴影都延展;如果为负值,则缩小。
color:该值为可选值,如果不设定任何颜色,则浏览器会取默认值。
运用box-shadow,让我们可以脱离PS繁琐的一张一张地来制作图片,且这样产生的阴影不会对排版产生影响。
为了能兼容支持的各大浏览器的书写方式:
当给同一个元素使用多个阴影属性时,需要注意他的顺序,最先写的阴影将显示在最顶层。
实现效果如下:
内阴影增加spread值,加强凹陷的真实感。
可能写到的情况还不是非常全面,还是希望这篇文章对大家有所帮助:)。欢迎多多交流~文中若有不正之处,欢迎指正。
今天我在写一个开关(switch)的纯CSS实现时,发现很多地方都用到了box-shadow,然后就定下了今天的博文内容:P~
标准语法:
{box-shadow: inset x-offset y-offset blur-radius spread-radius color}
相对应的也就是:
{box-shadow: 投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色}
box-shadow属性可以向图层添加一个或多个阴影,如果需要添加多个阴影,则需要使用逗号“,”分开。
说明
一共有六个特性值。值与值之间需要以至少一个空格进行间隔。
inset:该值为可选值,如果不设值的话,默认的投影方式是外阴影,如果设置阴影类型为“inset”,则其投影方式为内阴影。
x-offset:指的是阴影水平偏移量,该值可以是负的也可以是正的,如果为正值,则阴影在元素的右边;如果为负值,则阴影在元素的左边。该值为必要值。
y-offset:指的是阴影垂直偏移量,该值可以是负的也可以是正的,如果为正值,则阴影在元素的下面;如果为负值,则阴影在元素的上面。该值为必要值。
blur-radius:该值为可选值,其值只能为正值,设置值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊。
spread-radius:该值为可选值,该值可以是负的也可以是正的,如果为正值,则整个阴影都延展;如果为负值,则缩小。
color:该值为可选值,如果不设定任何颜色,则浏览器会取默认值。
运用box-shadow,让我们可以脱离PS繁琐的一张一张地来制作图片,且这样产生的阴影不会对排版产生影响。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>水平垂直居中</title> <style> .wrap { width: 80px; height: 80px; border: 1px solid #000; } .inner { width: 30px; height: 30px; margin: 25px auto; background: #006400; box-shadow: 50px 50px #000; } </style> </head> <body> <div class="wrap"> <div class="inner"></div> </div> box-shadow实践 </body> </html>
浏览器兼容性
浏览器兼容性想必大家都会很关心,毕竟不兼容的,你写再多也只不过是多余的代码而已。为了能兼容支持的各大浏览器的书写方式:
//Firefox4.0- -moz-box-shadow: 投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色; //Safari and Google chrome10.0- -webkit-box-shadow: 投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色; //Firefox4.0+ 、 Google chrome 10.0+ 、 Oprea10.5+ and IE9 box-shadow: 投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色;
阴影模糊
blur-radius值越大,阴影越模糊。div { box-shadow: 0 0 20px #ccc; }
多层次阴影
写法:.inner { box-shadow: inset 0 3px 5px #ADFF2F, 0 2px 0 #98FB98, 0 4px 0 #228B22; }
模拟多边框
实现效果如下:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>水平垂直居中</title> <style> div { width: 60px; height: 40px; background: #000; box-shadow: 0 0 0 2px #fff, 0 0 0 4px green, 0 0 0 6px blue; } </style> </head> <body> <div></div> </body> </html>
当给同一个元素使用多个阴影属性时,需要注意他的顺序,最先写的阴影将显示在最顶层。
单边效果
使用多层次的box-shadow,以及x-offset和y-offset的正负值来实现单边效果。实现效果如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>水平垂直居中</title> <style> div { width: 60px; height: 40px; background: #000; box-shadow: 0 2px 0 gray, 0 -2px 0 red, 2px 0 0 green, -2px 0 0 blue; } </style> </head> <body> <div></div> </body> </html>
打造立体感
div { color: #fff; background-color: #BA55D3; font-family: "Arial"; font-weight: 700; font-size: 2.5em; display: block; padding: 4px; border-radius: 8px; box-shadow: 0px 9px 0px #9932CC, 0px 9px 18px rgba(0, 0, 0, .7); margin: 100px auto; width: 160px; text-align: center; }
内阴影效果
实现效果如下:div { box-shadow: inset 0 0 6px #000; }
内阴影增加spread值,加强凹陷的真实感。
div { box-shadow: inset 0 0 6px 2px #000; }
可能写到的情况还不是非常全面,还是希望这篇文章对大家有所帮助:)。欢迎多多交流~文中若有不正之处,欢迎指正。
相关文章推荐
- CSS3属性教程与案例分享
- CSS3属性教程与案例分享
- CSS3的calc()使用
- 使用CSS3的appearance属性改变元素的外观
- CSS3美化图片
- CSS3质感分析——表面线性渐变
- 分析选项卡底部内凹圆角制作
- 细说百度图片栏目——图片展示效果
- 8个实用的响应式设计框架
- 20+ Animation Scripts, Libraries and Plugins
- CSS3结合fontawesome字体实现自定义单选框复选框效果
- 新时代编辑神器:Atom
- 如何使用CSS3画出一个叮当猫
- 基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
- CSS3 3D 技术手把手教你玩转
- jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
- jQuery CSS3相结合实现时钟插件
- CSS3实现动态翻牌效果 仿百度贴吧3D翻牌一次动画特效
- 纯CSS实现的漂亮的立体图片边框效果,阴影代码
- CSS3实例分享之多重背景的实现(Multiple backgrounds)