• 技术文章 >web前端 >css教程

    box-shadow的阴影效果如何使用

    php中世界最好的语言php中世界最好的语言2018-03-21 13:23:14原创1439
    这次给大家带来box-shadow的阴影效果如何使用,使用box-shadow阴影效果的注意事项有哪些,下面就是实战案例,一起来看一下。

    大家都知道box-shadow是h5新增属性,用来实现盒子边缘有阴影的效果,但经常会看见许多场景里阴影的样式各种各样,并不是简单的四周有阴影的效果,它们是怎么实现的呢,今天就跟大家分享两种阴影实现的方法。

    一、曲边阴影

    效果图如下:它不仅是四周有阴影,下部还有一层曲边的阴影,它的原理其实很简单,首先盒子自身有阴影,然后在使用另一个有阴影的盒子重叠形成效果图里的曲边阴影。

    首先说一下box-shadow的使用语法,它支持多个阴影的书写,中间用逗号隔开,如下

    创建一个盒子,使用box-shadow给盒子一个x轴和y轴方向都是零晕染半径为10px的外阴影和内阴影。

    style{
          .box1{
                    width: 400px;
                    height: 200px;
                    background: white;
                    border: 1px solid lightgrey;
                    margin: 100px auto;
                    text-align: center;
                    line-height: 200px;
                    box-shadow: 0 0 10px rgba(0,0,0,0.3), 0 0 10px rgba(0,0,0,0.3) inset;
            }
    }
    body{
          <p class="box1">
          <span>曲边阴影</span>
          </p>
    }

    使用after伪类选择器在box1子集的后面增加一个虚拟的标签,由于是一个虚拟标签,浏览器不能识别,需要定义display属性,给这个标签也加上阴影,由于是曲面的,所以需要设置border-radius使它有个弧度。然后使用定位将虚拟标签与原盒子重叠,并使用z-index改变层级,使它在p的下方。代码如下

    .box1::after{
                    display: block;  //必须写
                    content: "";     //必须写
                    z-index: -1;
                    width: 390px;
                    height: 150px;
                    background: red;
                    position: absolute;
                    bottom: 0;
                    left: 4px;
                    border-radius: 30px/10px;
                    box-shadow: 0 8px 10px rgba(0,0,0,0.3);
                    
                }

    当没有定位时,两个盒子的排列方式如下:

    定位后就实现了曲边阴影:结果图如下:

    二、翘边阴影

    原理与曲边阴影一样,使用伪类选择器::afteryu , ::before增加两个虚拟标签,使用阴影的重叠实现翘边阴影。
    代码如下:

    .box2::after,.box2::before{
                    display: block;
                    content: "";
                    z-index: -1;
                    width: 170px;
                    height: 240px;
                    background: red;
                    position: absolute;
                    bottom: 20px;
                    left: 38px;
                    box-shadow: 30px 10px 40px rgba(0,0,0,0.5); 
                    transform: skewX(-15deg);   
                }
                .box2::before{
                    box-shadow: -20px 10px 40px rgba(0,0,0,0.5);    
                    transform: skewX(15deg);    
                }

    为了方便我们看,给了红色背景,没改变层级时结果如下:

    调整两个盒子的层级,效果如下:

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    css3的pointer-events使用详解

    伪元素::before与::after使用详解

    以上就是box-shadow的阴影效果如何使用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:box-shadow 使用 如何
    上一篇:css如何做出0.5像素的线条 下一篇:模拟心脏一秒一跳的效果
    PHP编程就业班

    相关文章推荐

    • 聊聊使用CSS怎么实现毛玻璃特效(兼容方案探究)• 分享10个纯 CSS 实现的 Loading 效果• 2022年你值得了解的几个CSS新特性(收藏学习)• css3链接怎么设置为没有手的样式• 如何利用CSS来美化滑动输入条?自定义样式方法浅析

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网