CSS3盒阴影 box-shadow

HTML5学堂:CSS3 的 box-shadow 有点类似于 text-shadow,只不过不同的是 text-shadow 是对象的文本设置阴影,在移动端我可以使用盒阴影来代替边框的效果,而 box-shadow 是给对象实现图层阴影效果。谢谢~~

CSS3阴影种类

可以分文字阴影和盒模型阴影。而本章主要讲的是盒阴影 (box-shadow),盒阴影与文本阴影一样,都可以代替具有阴影效果的图片,减少对服务器的请求压力!而使用方面来说,CSS3 的 box-shadow 有点类似于 text-shadow,只不过不同的是 text-shadow 是对象的文本设置阴影,而 box-shadow 是给对象实现图层阴影效果。当然我们有时候会用盒阴影来代替边框,这是因为盒阴影是不占物理空间的,而边框会,导致了移动端设置自适应宽度受到了影响,那么接下来我们来看看盒阴影的使用!

盒阴影

box-shadow基本语法:

box-shadow:none|shadow[,shadow]*
shadow=length{2,4}&&color?

默认值:none

语法分析:

none:无阴影

第1个长度值:阴影水平偏移值。可为负值

第2个长度值:阴影垂直偏移值。可为负值

第3个长度值:可选,阴影模糊值。不允许负值

第4个长度值:可选,阴影外延值。不允许负值

color:设置对象的阴影的颜色。可以使用16进制颜色值,也可以使用英文单词,还可以采用rgba的表示法。

语法符号含义:

语法符号含义:

“[]”代表“可选”

“|”代表“或”

“{}”里的数字代表属性值的数量范围

“?”代表“一次”

“*”表示可出现多次

CSS3盒阴影 应用

我们可以通过盒阴影制作漂亮的按钮效果。接下来我们就来举几个例子,实战一下~

结构代码:

  1. <div class="h5course">欢迎沟通交流~HTML5学堂</div>

升高元素:

样式代码:

.h5course {
width: 500px;
padding: 30px;
background: #333;
color: #fff;
box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5),
         0 1px 4px rgba(0, 0, 0, 0.3),
         0 0 60px rgba(0, 0, 0, 0.1) inset;
font-size: 40px;
font-weight: bold;
font-family: "微软雅黑";
}    

效果如下图:

升高元素具有的效果就是让人感觉立体的,而且给人一个错觉,跟背景不是同一层面上。通常此效果可以用在按钮没被点击的效果上。同时要注意在使用多层次的阴影时还需注意一个细节问题,如果前面的阴影模糊值小于后面的阴影模糊值,那么前面的显示在后面之上,如果前面阴影的模糊值大于后面的阴影模糊值,那么前面的阴影将遮住后面的阴影效果。

内嵌效果:

样式代码:

.h5course {
position: relative;
width: 500px;
padding: 30px;
background: -webkit-gradient( linear, left bottom, left top, color-stop(0, rgb(44,160,202)),
         color-stop(1, rgb(62,184,229)) );
color: #fff;
border-radius: 10px;
box-shadow: inset 0px 0px 6px 3px #666;
font-size: 40px;
font-weight: bold;
font-family: "微软雅黑";
cursor: pointer;
}

效果如下图:

内阴影效果其实运用于凹陷的效果,一般来说,如果有一个效果设置凸显样式,通过点击实现凹陷的效果,那么点击鼠标的动作非常有质感。是一种按钮常用的方法,接下来我们看如何实现按钮的一些点击效果~

按钮效果:

样式代码:

.h5course {
position: relative;
width: 500px;
padding: 30px;
background: -webkit-gradient( linear, left bottom, left top, color-stop(0, rgb(44,160,202)), color-stop(1, rgb(62,184,229)) );
color: #fff;
border-radius: 10px;
box-shadow: inset 0px 1px 0px #2ab7ec,
         0px 5px 0px 0px #156785,
         0px 10px 5px #999;
font-size: 40px;
font-weight: bold;
font-family: "微软雅黑";
cursor: pointer;
}

查看效果:

按钮效果的一个原理就是通过盒阴影升高效果,让元素具有立体感,而通过active 伪类设置位置向下移动,阴影的偏移值和模糊值发生改变,造成点击被按下的感觉。代码如下:

.h5course:active {
top: 3px;
box-shadow: inset 0px 1px 0px #2ab7ec,
          0px 2px 0px 0px #156785,
          0px 5px 3px #999;
}

同样的大家可以试着改变不同的偏移值,具有不同的视觉效果~。

兼容性:

IE8以及IE8以下版本浏览器不支持

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2015-12-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏向治洪

html5 jqueryrotate插件实现旋转动画

CSS3 提供了多种变形效果,比如矩阵变形、位移、缩放、旋转和倾斜等等,让页面更加生动活泼有趣,不再一动不动。然后 IE10 以下版本的浏览器不支持 CSS3...

2716
来自专栏HTML5学堂

CSS3文本阴影 text-shadow

HTML5学堂:CSS3文本阴影是给文本添加阴影效果,而在CSS3文本阴影在CSS以及存在了,只是CSS2.1的时候不用了,但是在CSS3又重新使用了,这是因为...

4047
来自专栏菜鸟前端工程师

html+css学习笔记010-垂直对齐0指针0透明

912
来自专栏我和我大前端的故事

我不知道你知不知道我知道的伪元素小技巧

伪元素能做什么?我们要他有何用?它能为我们解决什么问题?和其他的方法相比她有什么有点?我们为什么要使用它?

862
来自专栏HTML5学堂

CSS3动画,为你带来极致的视觉体验!

HTML5学堂:随着网络的发展,浏览器具有更强的渲染与高级代码的执行能力。所以在当前,大量的动画效果由原来的JavaScript制作正慢慢的被CSS3所替代,究...

3127
来自专栏cnblogs

CSS3新特性应用之用户体验

一、光标 新增加not-allowed光标,不允许访问 隐藏光标,在触模应用上很有用,css2.1需要一个透明的图片来实现,而css3直接用cursor:non...

2048
来自专栏Android先生

自定义view实现超萌动感小炸弹

Hello,小伙伴们,我回来了。这些日子有的小伙伴问我怎么没有更新了。这个其实是有原因,首先,最近有点忙。其次没有看到什么觉得好玩的动画!最后,就是我更新过了!...

932
来自专栏偏前端工程师的驿站

CSS魔法堂:Box-Shadow没那么简单啦:)

前言  说起box-shadow那第一个想法当然就是用来实现阴影,其实它还能用于实现其他好玩的效果的,本篇就打算说说box-shadow的那些事。 二话不说看效...

27710
来自专栏Golang语言社区

【Golang语言社区--H5编程】smoke.js

大家好,我是社区主编彬哥,今天给大家带来的H5游戏编程中,烟雾特效的js库; 源码如下 var smokemachine = function (c...

38210
来自专栏前端布道

CSS3实现多种背景效果

重复平铺的几何图案很美观,但看起来可能有一些呆板。其实自然界中的事物都不是以无限平铺的方式存在的。即使重复,也往往伴随着多样性和随机性。因此为了更自然一些,我们...

1033

扫码关注云+社区