CSS3按钮效果制作

CSS3按钮效果制作

首先附上效果图,按下去有一种下沉的效果,

未按效果

按下去效果

原理:第一个按钮相对比较简单,就直接是一个双重阴影效果,然后鼠标按下去让他的margin-top值为-3px,阴影效果减小一点,就会有一种下沉的效果

   第二个按钮,相比第一个按钮,多了一个伪类,就是按钮上的一个小圆点,当按钮按下去时,小圆点的内阴影和外阴影的颜色调换一下,外阴影增加一个2px下部阴影,其他的和第一个按钮一样。

<style>
    /*初始化样式*/
    *{margin: 0;padding: 0;}
    .box{padding: 10px;box-sizing: border-box;overflow: hidden; 800px;overflow: hidden;margin: auto;height: 50px;}
    a{color: #000;font-size: 14px;font-family: 'Open Sans', sans-serif;text-decoration: none;display: inline-block}
    /*按钮一*/
    .btn1{padding:0 10px 0 10px;
        line-height: 30px;
        background:orange;
        border-radius: 5px;
        box-shadow: 0 5px 0 gray,1px 6px 6px gray;
    }
    .btn1:active{margin-top: 3px;
        box-shadow: 0 2px 0 gray,1px 3px 3px gray;
    }
    
    /*按钮二*/
    .btn2{padding:0 10px 0 10px;
        line-height: 30px;
        background:orange;
        border-radius: 5px;
        box-shadow: 0 5px 0 gray,1px 6px 6px gray;
        position: relative;
    }
    .btn2:after{
        content: '';
        position: absolute;
        height: 17px;
         17px;
        border-radius: 50%;
        top: 50%;
        margin-top: -8.5px;
        right: 5px;
        box-shadow:  inset 0px 1px 0px gray, 0px 1px 0px #fff;
        background: #ffc100;
    }
    .btn2:active::after{
        box-shadow: inset 0px 1px 0px #fff, 0px 1px 0px gray,-1px 3px 0 gray;
    }
    .btn2:active{
        margin-top: 3px;
        box-shadow: 0 2px 0 gray,1px 3px 3px gray;
    }
</style>
<body>
    <!--按钮一-->
    <div class="box">
        <a class="btn1" href="#">Click me!</a>
    </div>
    <!--按钮二-->
    <div class="box">
        <a href="#" class="btn2">Click me!&nbsp;&nbsp;&nbsp;&nbsp;</a>
    </div>
</body>
原文地址:https://www.cnblogs.com/yz-blog/p/6604877.html