之前发过一篇文章CSS实现优惠券的技巧,次要介绍了几种绘制优惠券的办法,只管实现曾经十分完满、非常灵活,不过还是有很多同学示意

"太奇妙了,不过我还是抉择切图”

为此,专门制作了这样一个在线 CSS 生成工具Coupon.io (codelabo.cn)

功能设计

首先最下面是几种优惠券的类型,从图标应该能大略看出具体的款式

每一种类型对应的自定义选项稍有不同,拿第一种类型举例来说

  1. Radius示意设置凹角的大小
  2. Direction示意设置凹角的方向,可抉择程度和垂直
  3. Position示意设置凹角的绝对地位,在程度状况下,可抉择居上、居中、居下,在垂直状况下,可抉择居左、居中、居右
  4. Offset示意示意设置凹角的偏移,这个偏移是绝对于下面设置的绝对地位来定的,在居中的状况下不可设置

调整实现后,点击复制按钮就能够复制在剪贴板上了( Copied to clipboard!)~

代码是自适应的,所以无需关注容器尺寸,兼容 Chrome 、Firefox、Safari 以及挪动端

其实也不用看下面的阐明,动动手指,轻易点一下、拖一下大略就能明确什么意思了。

实战演示

当初就理论演示一下,比方这样一个布局

首先实现根本布局

<section class="card">    <div class="card-left">350书券</div>    <div class="card-right">        <p class="card-info">满30元送350书券</p>        <strong class="card-time">仅剩 04:48:49</strong>    </div></section>

能够看出,右边是固定尺寸,左边是自适应的,这里能够采纳 flex 布局

.card{  display: flex;  align-items: center;  background: #fff;  border-radius: 8px;}.card-left{  width: 88px;  text-align: center;  font-size: 24px;  color: #F22424}.card-left span{  font-size: 10px;}.card-right{  padding: 16px 12px;  display: flex;  flex: 1;  flex-direction: column;}.card-info{  margin: 0;  font-size: 14px;  line-height: 20px;  color: rgba(33, 32, 44, 0.9);}.card-time{  font-size: 12px;  line-height: 16px;  font-weight: normal;  color: #F22424;  margin-top: 4px;}

失去的成果如下

当初就通过在线工具增加凹角成果吧

因为有分割线成果,能够抉择第二个类型,一番调试后,能够失去如下

当初复制生成的 CSS,间接增加在外层容器上

.card{  /*其余款式*/  -webkit-mask-image: radial-gradient(circle at 88px 4px, transparent 4px, red 4.5px), radial-gradient(closest-side circle at 50%, red 99%, transparent 100%);  -webkit-mask-size: 100%, 2px 4px;  -webkit-mask-repeat: repeat, repeat-y;  -webkit-mask-position: 0 -4px, 87px;  -webkit-mask-composite: source-out;  mask-composite: subtract;}

失去成果如下

线上可拜访 codepen coupon demo 查看

其余个性

该站点是一个PWA,如果应用 Chrome 或者 Edge 关上,能够抉择“装置利用”

这样就能够像一个应用程序一样关上了,可离线应用~

其余阐明

工具究竟只是工具,不可能满足所有理论状况,在不满足的状况下,倡议好好浏览这篇CSS实现优惠券的技巧,置信会有更多的领会

最初,有相干问题或意见,能够去XboxYan/coupon: Generate Coupon-UI CSS code (github.com)提 issue,如果感觉不错的话,欢送点赞、珍藏、转发~❤️❤️❤️

祝大家应用欢快,enjoy~