• border-radius实现圆弧阴影效果


    1 原理 利用border-radius实现一个圆弧边的矩形,并添加box-shadow,然后放在目标元素的下方

    demo:

    html

    <div class="demo1"></div>

    css

        .demo1{
                    width: 500px;
                    height: 200px;
                    margin: 30px auto;
                    position: relative;
                    background-color: #fff;
                    box-shadow: 0px 0px 3px rgba(0,0,0,0.3),0px 0px 3px rgba(0,0,0,0.2) inset;
                    -webkit-box-shadow:0px 0px 3px rgba(0,0,0,0.3),0px 0px 3px rgba(0,0,0,0.2) inset;
                    -moz-box-shadow:0px 0px 3px rgba(0,0,0,0.3),0px 0px 3px rgba(0,0,0,0.2) inset;
                    -o-box-shadow:0px 0px 3px rgba(0,0,0,0.3),0px 0px 3px rgba(0,0,0,0.2) inset;
                }
                .demo1:after,.demo1:before{
                    position: absolute;
                    content: '';
                    top: 50%;
                    bottom: 0px;
                    left: 10px;
                    right: 10px;
                    z-index: -1;
                    border-radius: 100px/10px;
                    box-shadow: 0px 0px 20px rgba(0,0,0,0.6);
                    -webkit-box-shadow: 0px 0px 20px rgba(0,0,0,0.6);
                    -moz-box-shadow: 0px 0px 20px rgba(0,0,0,0.6);
                    -o-box-shadow: 0px 0px 20px rgba(0,0,0,0.6);
                }

    元素的before after伪元素重贴在一起,加深阴影效果,border-radius:100px/10px;表示水平半径是100px,垂直半径是10px

    ,border-radius的完整写法:border-radius:100px 100px 100px 100px/10px 10px 10px 10px;“/”前的四个数值表示圆角的水平半径,后面四个值表示圆角的垂直半径

     

    demo2:

    .demo2{
                    width: 480px;
                    height: 150px;
                    margin: 30px auto;
                    background-color: red;
                    border-radius: 100px/10px;
                }

    效果:

    实心半圆:

    .demo3{
                    height: 100px;
                    width: 50px;
                    margin: 30px auto;
                    background-color: red;
                    border-radius: 0px 50px 50px 0;
                }

    效果

    翘边阴影

    html

    <div class="demo10">
                <ul>
                    <li><img src="images/1.jpg"></li>
                    <li><img src="images/1.jpg"></li>
                    <li><img src="images/1.jpg"></li>
                </ul>
            </div>

    css

    .demo10{
                    width: 1030px;
                }
                 ul:after{
                    display: block;
                    content: '';
                    clear: both;
                }
                ul li{
                    float: left;
                }
                .demo10 ul li{
                    padding: 10px;
                    border:1px solid #eee;
                    margin-right: 20px;
                    background-color: #fff;
                    box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;
                    -webkit-box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;
                    -moz-box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;
                    -o-box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;
                    position: relative;
    
                }
                .demo10 ul li:after{
                    position: absolute;
                    content: "";
                    width: 90%;
                    left: 15px;
                    height: 70%;
                    bottom: 12px;
                    z-index: -1;
                    background-color: transparent;
                    box-shadow: 0px 0px 25px rgba(0,0,0,.5);
                    -webkit-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
                    -moz-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
                    -o-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
                    transform:rotate(-5deg) translate(-10px,0);
                    -webkit-transform:rotate(-5deg) translate(-10px,0);
                    -moz-transform:rotate(-5deg) translate(-10px,0);
                    -o-transform:rotate(-5deg) translate(-10px,0);
                }
                .demo10 ul li:before{
                    position: absolute;
                    content: "";
                    width: 90%;
                    right: 15px;
                    height: 70%;
                    bottom: 12px;
                    z-index: -1;
                    background-color: transparent;
                    box-shadow: 0px 0px 25px rgba(0,0,0,.5);
                    -webkit-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
                    -moz-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
                    -o-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
                    transform:rotate(-5deg) translate(-10px,0);
                    -webkit-transform:rotate(5deg) translate(10px,0);
                    -moz-transform:rotate(5deg) translate(10px,0);
                    -o-transform:rotate(5deg) translate(10px,0);
                }
                .demo10 ul li img{
                    width: 300px;
                    height: 200px;
                }

    效果:

  • 相关阅读:
    Swift无限滚动的FSPagerView
    Swift 中map、flatMap、compactMap、filer、reduce的使用总结
    Swift SnapKit自动布局的使用
    Swift UIScrollView懒加载的使用
    SwiftJson的使用
    SWIFT_VERSION '5.0' is unsupported, supported versions are: 3.0, 4.0...
    Swift 一个xib引用另外一个xib
    Swift xib或者storyboard添加圆角或者边框
    Swift使用Alamofire
    Swift中使用OC的类或者三方框架
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/10637168.html
Copyright © 2020-2023  润新知