对于边框追加样式,不知道有什么好的处理方式?

image.png
像上面的线条。不知道有没有好的处理方式?这个区域是透明的

阅读 2.7k
4 个回答

<html>
<head>
  <style type="text/css">
  body {background-color:#000;}
  .box {position:relative;width:200px;height:150px;background-color:rgba(0,0,0,0.5);}
  .box:after {
      content:'\200B';
      position:absolute;
      top:0;bottom:0;left:0;right:0;
      background: linear-gradient(-45deg, #FFF 0%, transparent 50%, #FFF 100%) top left no-repeat;
      -webkit-mask-image:linear-gradient(to bottom,#000 0,transparent 1px ,transparent calc(100% - 1px), #000 150px),linear-gradient(to right,#000 0,transparent 1px ,transparent calc(100% - 1px), #000 200px);
      pointer-event:none;
  }
  </style>
</head>
<body>
  <div class="box"></div>
</body>
</html>

如果渐变有图片可以使用border-image试试。
笨一点儿的办法就是写4条div用linear-gradient渐变实现。

加个外边框样式包裹,底色用渐变调整。右下角的透明度可用rgba的第四个参数透明度实现;

/*外边框*/
.out-box{
    display: inline-block;
    padding: 1px;
    background-image: linear-gradient(135deg,#aaa 0%,#000 30%,#000 60%,rgba(255,255,255,.3) 100%);
}
/*正文盒子*/
.content{
    background-color: #000;
    width: 200px;
    height: 100px;
}
<div class="out-box">
    <div class="content"></div>
</div>

最终效果

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题