视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何利用CSS3实现曲线阴影以及翘边阴影的图文代码教程
2020-11-27 18:50:29 责编:小采
文档
 往往我们在做一些特殊的阴影效果的时候,使用图片做背景的方式实际上是很差劲的,在不考虑适配老版本浏览器的前提下,我们可以使用css3的自定义出自己想要的阴影风格。

下面将以曲线阴影和翘边阴影为例,讲解自定义阴影的过程。
先来看下效果图

曲线阴影

曲线阴影其实可以使用双层阴影重叠的方式实现
我们将取消阴影的图片做下分解应该会更容易理解,示意图如下:


如上图,图1基础的阴影下,在加一个有弧度的阴影即可。
1、图1基础阴影很容易实现,内阴影+外阴影

.box-shadow1{ 
box-shadow: 0 1px 4px rgba(0,0,0,0.3),0 0 40px rgba(0,0,0,0.1) inset;
}

2、然后使用伪类在元素的后面添加一个“可适配”的阴影,为了可适配,我们就要使用相对定位,实现代码如下

.box-shadow1{ 
position:relative; 
box-shadow: 0 1px 4px rgba(0,0,0,0.3),0 0 40px rgba(0,0,0,0.1) inset;}.box-shadow1:after{ 
content:""; 
position:absolute; 
background:transparent; 
top:50%; 
//设置宽高仅仅设置上下左右边距是为了让系统自动定位。 
bottom: 1px; 
left: 10px; 
right: 10px; 
 z-index: -1; 
 //将副阴影置于主阴影下 
 box-shadow: 0 0 20px rgba(0,0,0,0.7); 
 border-radius: 100px/10px;}

如此即实现了曲线阴影的效果。

<p class="box box-shadow1">将box-shadow1作为类使用即可</p>

翘边阴影

同理,翘边阴影可以在基础阴影下叠加两个平行四边形即可。
这里就直接上分解图和源码了,不再做讲解



.box-shadow2{ 
position:relative; 
box-shadow: 0 1px 4px rgba(0,0,0,0.3),0 0 40px rgba(0,0,0,0.1) inset;}
.box-shadow2:before,.box-shadow2:after{ 
content: ""; 
position:absolute; 
 top:20px;bottom: 22px; 
 background: transparent; 
 box-shadow: 0 8px 20px rgba(0,0,0,0.7); 
 z-index: -1; 
 background: #fff; 
}.box-shadow2:before{ 
 left: 22px; 
 right:12px; 
 transform: skew(-12deg) rotate(-4deg); 
}.box-shadow2:after{ 
 left: 12px; 
 right:22px; 
 transform: skew(12deg) rotate(4deg); 
}

下载本文
显示全文
专题