纯CSS实现糖果按钮

废话不多说,直接上代码:
注:为了减少代码量,以下代码均没写兼容性写法。

<a class="button" href="#">Candy</a>
.button {
    /* text */
    text-decoration: none;
    font: 24px/1em 'Droid Sans', sans-serif;
    font-weight: bold;
    text-shadow:rgba(255,255,255,0.5) 0 1px 0;

    /* layout */
    padding: 0.5em 0.6em 0.4em 0.6em;
    margin: 0.5em;
    display: inline-block;
    position: relative;
    border-radius:  8px;

    /* effects */
    border-top:1px solid rgba(255,255,255,0.8);
    border-bottom:1px solid rgba(0,0,0,0.1);
    background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,0),rgba(255,255,255,0.7)),
                    url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEQSURBVChTVVCxaoRQEPRD3uHFkFzuIEU+IBASUtgEEggErsr1/oetra2tdiKCxWttBC1EsBO7U2xUFAS9HXk5SDHM291hdvZJ8zyzPM8ZGFiW5UG8D+fz+Uf0XiDcQeh53irs+/6D+ClN0ze8hcl+dfyD7/sb4iPeJGJd1/1GUSTXdc2ktm2PsOacs3EcVayGC/HWsqzVIAxDJonBYZqmL8dxIP6k4Q1hT3gmnCD+tzrLsi2yaprGiqL4FvkeXddVJHGESjneiTfIQ3wKgkBpmka2bfuOalmqqmoHAUVQyrK8ugOo0cdhq6NpmmwYhlsMkyS5/iuOwAbUkq7raL7S5yK0CkEcx/eGYaCPbYxzzi6C1h8/IRQXUAAAAABJRU5ErkJggg=="),
                    #80c4ff;
    transition:background 0.2s ease-in-out;

    /* color */
    color: #336999;
    box-shadow: rgba(255,254,255,0.6) 0 0.3em 0.3em inset,
                rgba(255,255,255,0.15) 0 -0.1em 0.3em inset,
                #5390c6 0 0.1em 3px,
                #336999 0 0.3em 1px,
                rgba(0,0,0,0.2) 0 0.5em 5px;
}
.button:hover {
    background-color: #a8d7ff;
}
.button:active {
    background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,0),rgba(255,255,255,0)),
                    url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEQSURBVChTVVCxaoRQEPRD3uHFkFzuIEU+IBASUtgEEggErsr1/oetra2tdiKCxWttBC1EsBO7U2xUFAS9HXk5SDHM291hdvZJ8zyzPM8ZGFiW5UG8D+fz+Uf0XiDcQeh53irs+/6D+ClN0ze8hcl+dfyD7/sb4iPeJGJd1/1GUSTXdc2ktm2PsOacs3EcVayGC/HWsqzVIAxDJonBYZqmL8dxIP6k4Q1hT3gmnCD+tzrLsi2yaprGiqL4FvkeXddVJHGESjneiTfIQ3wKgkBpmka2bfuOalmqqmoHAUVQyrK8ugOo0cdhq6NpmmwYhlsMkyS5/iuOwAbUkq7raL7S5yK0CkEcx/eGYaCPbYxzzi6C1h8/IRQXUAAAAABJRU5ErkJggg==")
                    #a8d7ff;
    box-shadow: rgba(255,255,255,0.6) 0 0.3em 0.3em inset,
                rgba(0,0,0,0.2) 0 -0.1em 0.3em inset, 
                rgba(0,0,0,0.4) 0 0.1em 1px, 
                rgba(0,0,0,0.2) 0 0.2em 6px; 
    transform:translateY(0.2em);
}

效果:
这里写图片描述

基于以上的样式,我们来写第二种:

<a class="button btn-2" href="#">Candy</a>
/*btn-2*/
.btn-2{
    border-top: none;
    border-radius: 0.5em/1em;
}

这里写图片描述

第三种:

<li><a class="button btn-3" href="#">An</a></li>
/*btn-3*/
.btn-3{
    font-size: 32px;
    border-top-color: rgba(255,255,255,0.5);
    border-radius: 1.6em 1.6em 1em 1em / 4em 4em 1em 1em;
    text-shadow: rgba(255,255,255,0.5) 0 -1px 0, rgba(0,0,0,0.18) 0 0.18em 0.15em; 
}
.btn-3:after{
    position: absolute;
    top: 0;
    left: 6%;
    content: '';
    width: 88%;
    height: 80%;
    background-image: linear-gradient(90deg,rgba(255,255,255,0.55),rgba(255,255,255,0) 50%, rgba(255,255,255,0) 80%,rgba(255,255,255,0.5));
    border-top-color: rgba(255,255,255,0.5);
    border-radius: 1.6em 1.6em 1em 1em / 4em 4em 1em 1em;
}
.btn-3:active {
    text-shadow: rgba(255,255,255,.3) 0 1px 0, rgba(0,0,0,0.15) 0 0.18em 0.15em;
}

这里写图片描述

第四种:

<a class="button btn-4" href="#">A Candy</a>
/*btn-4*/
.btn-4{
    border-top: none;
    padding-right: 1.2em;
    padding-left: 1.2em;
    border-radius: 5em 1em / 5em 1em;
}
.btn-4:after{
    position: absolute;
    top: 0;
    left: 10%;
    content: '';
    width: 90%;
    height: 60%;
    background-image: linear-gradient(90deg,rgba(255,255,255,0.55),rgba(255,255,255,0) 50%, rgba(255,255,255,0) 80%,rgba(255,255,255,0.5));
    border-top-color: rgba(255,255,255,0.5);
    border-radius: 7em 1em / 5em 1em;
}

这里写图片描述

第五种:

<a class="button btn-5" href="#">An</a>
/*btn-5*/
.btn-5{
    border-top: none;
    padding-left: 0.8em;
    padding-right: 0.8em;
    border-radius: 1.8em / 1em;
}

这里写图片描述

第六种:

<a class="button btn-6" href="#">AN</a>
.btn-6{
    padding: 0.8em;
    border-radius: 0.4em 0.4em 2em 2em / 0.4em 0.4em 3em 3em;
}
.btn-6:after{
    position: absolute;
    top: 0;
    left: 5%;
    content: '';
    width: 90%;
    height: 75%;
    background-image: linear-gradient(90deg,rgba(255,255,255,0.55),rgba(255,255,255,0) 50%, rgba(255,255,255,0) 80%,rgba(255,255,255,0.5));
    border-top-color: rgba(255,255,255,0.5);
    border-radius: 0.4em 0.4em 2em 2em / 0.4em 0.4em 3em 3em;
}

这里写图片描述

第七种:

<a class="button btn-6" href="#">AN</a>
/*btn-6*/
.btn-7{
    border-top: none;
    padding: 0.6em 0.6em;
    border-radius: 2em 5em 2em .6em / 2em 4em 2em .6em;
    text-shadow: rgba(255,255,255,.5) 0 -1px 0, rgba(0,0,0,0.18) 0 0.18em 0.15em;
}
.btn-7:after{
    position: absolute;
    top: 0;
    left: 4%;
    content: '';
    width: 90%;
    height: 75%;
    background-image: linear-gradient(90deg,rgba(255,255,255,0.55),rgba(255,255,255,0) 50%, rgba(255,255,255,0) 80%,rgba(255,255,255,0.5));
    border-radius: 2em 6em 2em 1em / 2em 4em 2em 2em;
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值