我们在做商城类项目时,时常会有开发优惠券的需求,那么我们如何通过纯 CSS 来实现类似京东、淘宝的优惠券样式。
下面给大家分享一个纯 CSS 写的优惠券边沿透明圆形镂空打孔效果。最终效果大致如下:
使用了生成二维码和点击复制jquery.qrcode.min.js
、clipboard.min.js
两个插件
方法一
div{
width:300px;
height: 500px;
background: radial-gradient(circle at 0% 35%, transparent 8%, #fff 8.5%) no-repeat left / 51% 100%,radial-gradient(circle at 100% 35%, transparent 8%, #fff 8.5%) no-repeat right / 51% 100%;
}
这个比较简洁:DEMO代码
方法二
HTML代码
<div class="myqrcode">
<div class="myqrcode-box">
<div class="myqrcode-box-top">
<div class="text tc">
<div class="t">我的推荐码</div>
<div class="p">2000</div>
</div>
</div>
<div class="myqrcode-box-middle">
<div></div>
</div>
<div class="myqrcode-box-bottom">
<div class="text">
<div id="qrcode"></div>
<div class="button tc">
<button type="button" class="btn">保存图片</button>
<button type="button" class="btn btn_copy" data-clipboard-text="https://my.liluohost.com/aff.php?aff=323">复制链接</button>
</div>
</div>
</div>
</div>
</div>
CSS代码
.myqrcode{
background-image: linear-gradient(120deg, #f6d365 0%, #fda085 100%);
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 999;
display: flex;
justify-content: center;
align-items: center;
}
.myqrcode-box{
width: 5.9rem;
border-radius: 0.16rem;
overflow: hidden;
display: flex;
flex-direction: column;
}
.myqrcode-box-top, .myqrcode-box-bottom{
background: #FFFFFF;
}
.myqrcode-box-top{
flex: 1;
}
.myqrcode-box-top .text{
padding: 0.8rem 0 0.4rem 0;
}
.myqrcode-box-top .text .t{
font-size: 0.32rem;
line-height: 1;
font-weight: bold;
}
.myqrcode-box-top .text .p{
padding-top: 0.15rem;
}
.myqrcode-box-bottom{
padding: 0 0.38rem;
}
.myqrcode-box-bottom .text{
padding: 0.4rem 0.6rem 0.8rem 0.6rem;
}
.myqrcode-box-bottom .text .btn{
padding: 0.15rem 0.4rem;
background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%);
border-radius: 0.5rem;
color: #FFF;
cursor: pointer;
margin-top: 0.5rem;
}
.myqrcode-box-middle{
height: 0.64rem;
position: relative;
overflow: hidden;
}
.myqrcode-box-middle div{ /* 中间虚线 */
position: absolute;
left: 0.36rem;
right: 0.36rem;
top: 0.29rem;
border-top: 0.03rem dashed #E6E6E6;
z-index: 9;
}
.myqrcode-box-middle:before, .myqrcode-box-middle:after{
content: '';
border: 3rem solid #FFFFFF;
position: absolute;
width: 0.6rem;
height: 0.6rem;
border-radius: 50%;
top: 50%;
margin-top: -3.3rem;
}
.myqrcode-box-middle:before{
left: -3.3rem;
}
.myqrcode-box-middle:after{
right: -3.3rem;
}
原文链接:https://www.lervor.com/archives/72/
正文完
要饭中,多少给点吧(支付宝)
为何我用你的代码做不出镂空的圆孔效果?可以把文件发给我吗?我想研究下
代码就在文章里面了