CSS3------box-shadow,即单边阴影效果设置

摘要:
box-shadow修改元素的阴影效果要方便得多,因为box-shadow可以修改六个参数,得到不同的效果。下面结合一些简单的案例来对box-shadow属性进行演示说明。这个案例中,使用box-shadow给元素设置了顶边、右边、底边和左边的单边阴影效果。此时,box-shadow属性中的阴影扩展半径会是一个很关键的属性,要实现单边阴影效果,必须配上这个属性。

box-shadow修改元素的阴影效果要方便得多,因为box-shadow可以修改六个参数,得到不同的效果。下面结合一些简单的案例来对box-shadow属性进行演示说明。

1.单边阴影效果

定义元素的单边阴影效果和调协border的单边边框颜色是相似的,例如:

1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4     <meta charset="UTF-8">
5     <title>Title</title>
6     <style>
7 .box-shadow {
8 width:200px;
9 height:100px;
10 border-radius:5px;
11 border:1px solid #ccc;
12 margin:20px;
13       }
14 .top {
15 box-shadow:0 -2px 0 red;
16       }
17 .right {
18 box-shadow:2px 0 0 green;
19       }
20 .bottom {
21 box-shadow:0 2px 0 blue;
22       }
23 .left {
24 box-shadow:-2px 0 0 orange;
25       }
26 
27     </style>
28 
29 </head>
30 <body>
31   <div class="box-shadow top"></div>
32   <div class="box-shadow right"></div>
33   <div class="box-shadow bottom"></div>
34   <div class="box-shadow left"></div>
35 </body>
36 </html>

效果如图3-38所示。

CSS3------box-shadow,即单边阴影效果设置第1张

这个案例中,使用box-shadow给元素设置了顶边、右边、底边和左边的单边阴影效果。主要通过box-shadow的水平和垂直阴影的偏移量 来实现,其中x-offset为正值时,生成右边阴影,反之为负值时,生成左边阴影;y-offset为正值时,生成底部阴影,反之为负值时生成顶部阴 影。此例中是一个单边实影投影效果(阴影模糊半径为0),但是如果阴影的模糊半径不是0,上面的方法还能不能实现单边阴影效果呢?不急着来回答,在上面的 实例中添加一个模糊半径,例如:

1 .top {  
2 box-shadow: 0 -2px 5px red;  
3 }  
4 .right {  
5 box-shadow: 2px 0 5px green;  
6 }  
7 .bottom {  
8 box-shadow: 0 2px 5px blue;  
9 }  
10 .left {  
11 box-shadow: -2px 0 5px orange;  
12     } 

CSS3------box-shadow,即单边阴影效果设置第2张

图3-39说明,这个效果并不是理想的单边阴影效果,当box-shadow添加了5px阴影模糊半径后,阴影不再是实影投影,阴影清晰度向外扩散,更具阴影的效果。但造成了另一个问题,给元素其他三个边加上淡淡的阴影效果,可这并不是设计需要的效果。

那究竟要怎么做呢?此时,box-shadow属性中的阴影扩展半径(spread-radius)会是一个很关键的属性,要实现单边阴影效果,必须配上这个属性(除单边实影之外)。

1 .top {  
2 box-shadow: 0 -4px 5px -3px red;  
3 }  
4 .right {  
5 box-shadow: 4px 0 5px -3px green;  
6 }  
7 .bottom {  
8 box-shadow: 0 4px 5px -3px blue;  
9 }  
10 .left {  
11 box-shadow: -4px 0 5px -3px orange;  
12     } 

上面的代码调整了阴影的位移量,新增了box-shadow的扩展半径,最终效果如图3-40所示。

注意各浏览器下显示效果略有细节差别。

CSS3------box-shadow,即单边阴影效果设置第3张

图3-40

免责声明:文章转载自《CSS3------box-shadow,即单边阴影效果设置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jenkins流水线基础(CICD 03)BMIDE开发Soa Services提供给AWC端调用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CSS3动画特效——transform详解

CSS3动画特效——transform详解  还可以和过渡属性(Transition)连用      transition&transform,CSS中过度和变形的设置 前置属性: transform-origin更改一个元素变形的原点transform-style:设置元素的子元素是位于 3D 空间中还是平面中 flat:平面,如果选择平面即此...

解决文字与下划线重叠的问题

最近在网上看了张鑫旭老师的一个帖子(解决文字和text-decoration:underline下划线重叠问题),收获不小。原文链接(http://www.zhangxinxu.com/wordpress/2016/11/css-text-decoration-underline-skip-override/) 下面我简单的分享一下张鑫旭老师的几种方法。...

css定义div圆角阴影边框

2013-11-01 设置div的圆角边框  首先给大家上个图片展示吧     1、首先下载Pie文件,在http://css3pie.com/下载Pie.js文件,最好是里面的文件不要删减,我是直接用的  2、然后上hmtl代码吧      <div>  111111111111111</div>   css样式:     &l...

CSS伪元素before和after

今天发现很多国外的网站和框架设计都用到了before和after,之前使用的比较少,今天试了下觉得还是很有意思的~ 说明 1. :before 和 :after将在内容元素的前后插入额外的元素;:before将会在内容之前“添加”一个元素而:after将会在内容后“添加”一个元素。在它们之中添加内容我们可以使用content属性。 2. :before 和...

【uniapp 开发】如何给边框添加阴影效果

css的box-shadow是用来添加边框阴影效果的。 属性值详解: 1、inset 可选值,默认阴影在盒子外 使用inset后,阴影在盒子内,即使指定边框或者透明边框,阴影依然存在。 2、 这是头两个 值,用来设置阴影偏移量。offset-x为设置阴影的水平位移,假如是负值,那么阴影在边框的左侧;offset-y设置阴影的垂直位移,假如是负值,那么阴影位...

【CSS进阶】box-shadow 与 filter:drop-shadow 详解及奇技淫巧

box-shadow 在前端的 CSS 编写工作想必十分常见。但是 box-shadow 除去它的常规用法,其实还存在许多不为人知的奇技淫巧。 喜欢 markdown 版本的可以戳这里 。 box-shadow 常规用法 说到 box-shadow ,首先想到的必然是它能够生成阴影,所以称之为 shaodow ,简单看看它的语法: 基础属性语法 bo...