CSS3实现类似装订(缝纫)效果

先来个目标预览:

实现

一般看到虚线边框,首先会想到CSS为dashed的border-style属性,基础代码为:

<div class="stitched">

  Stitched

</div>
.stitched {
   padding: 20px;
   margin: 10px;
   background: #ff0030;
   color: #fff;
   font-size: 21px;
   font-weight: bold;
   line-height: 1.3em;
   border: 2px dashed #fff;
   border-radius: 10px;
   font-weight: normal;
}

body {
  padding: 10px;
}

实现效果是下面这个样子:

 对比要实现的最终结果,有两点需要改进:1、虚线距离边框有一定的距离; 2、阴影; 

阴影实现大家都会想到想到用box-shadow,也可以假借box-shadow把边框外再来点背景,最终代码为:

.stitched {
   padding: 20px;
   margin: 10px;
   background: #ff0030;
   color: #fff;
   font-size: 21px;
   font-weight: bold;
   line-height: 1.3em;
   border: 2px dashed #fff;
   border-radius: 10px;
   box-shadow: 0 0 0 4px #ff0030, 2px 1px 6px 4px rgba(10, 10, 0, 0.5);
   text-shadow: -1px -1px #aa3030;
   font-weight: normal;
}

body {
  padding: 10px;
}

 即可以实现文章最开始的效果!

本文实现思路借鉴此链接:https://codepen.io/chriscoyier/pen/Brcpe

原文地址:https://www.cnblogs.com/fe-cherrydlh/p/9578992.html