使用单个标签,如何实现下图所示的斜线效果。也就是如何使用 CSS 画斜线?

css怎么绘制斜线-LMLPHP

我们假定我们的 HTML 结构如下:

<div></div>
登录后复制

法一、CSS3 旋转缩放

这里我们使用 伪元素 画出一条直线,然后绕 div 中心旋转 45度 ,再缩放一下就可以得到。

具体实现css代码:

div{
  position:relative;
  margin:50px auto;
  width:100px;
  height:100px;
  box-sizing:border-box;
  border:1px solid #333;  
  // background-color:#333;
  line-height:120px;
  text-indent:5px;
}
div::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:50px;
  box-sizing:border-box;
  border-bottom:1px solid deeppink;
  transform-origin:bottom center;
  // transform:rotateZ(45deg) scale(1.414);
  animation:slash 5s infinite ease;
}
@keyframes slash{
  0%{
    transform:rotateZ(0deg) scale(1);
  }
  30%{
    transform:rotateZ(45deg) scale(1);
  }
  60%{
    transform:rotateZ(45deg) scale(1.414);
  }
  100%{
    transform:rotateZ(45deg) scale(1.414);
  }
}
登录后复制

法二、线性渐变实现

这种方法使用了背景的线性渐变实现,渐变背景很重要的一点是,虽然名字唤作渐变,但是也是可以画出实色而非渐变色。

我们选定线性渐变的方向为 45deg,依次将渐变色值设为:transparent -> deeppink -> deeppink ->transparent。

transparent 为透明色值。

就像这样简单的一句,即可实现斜线效果:

div{
  background:
    linear-gradient(45deg, transparent 49.5%, deeppink 49.5%, deeppink 50.5%, transparent 50.5%);
}
登录后复制

以上就是css怎么绘制斜线的详细内容,更多请关注Work网其它相关文章!

09-16 22:33