当前位置 : 主页 > 网页制作 > html >

HTML – 我可以让两个相邻的边框相互交叉吗?

来源:互联网 收集:自由互联 发布时间:2021-06-12
代码很简单: div class="top" style="background:green"; div class="inner" style="border: 1px solid white;"/div/div 内部div具有透明背景,因此只有在我定义边框后才能看到边框. 我正试图让内部div的右边和右边
代码很简单:

<div class="top" style="background:green";>
    <div class="inner" style="border: 1px solid white;"></div>
</div>

内部div具有透明背景,因此只有在我定义边框后才能看到边框.
我正试图让内部div的右边和右边相交,如下所示:

目标是在所有四个角上都有这个交叉点.

干杯:)

您可以使用线性渐变,只需要一个元素:

.box {
  margin:30px;
  width:100px;
  height:100px;
  padding:10px;
  background:
   linear-gradient(#fff,#fff) 10px 0,
   linear-gradient(#fff,#fff) 0 10px,
   linear-gradient(#fff,#fff) calc(100% - 10px) 0,
   linear-gradient(#fff,#fff) 0 calc(100% - 10px);
   
 background-size:1px 100%,100% 1px;
 background-repeat:no-repeat;
}

body {
 background:green;
}
<div class="box">

</div>

您还可以依靠CSS变量轻松控制交集:

.box {
  margin:20px;
  width:100px;
  height:100px;
  padding:var(--c,10px);
  background:
   linear-gradient(#fff,#fff) var(--c,10px) 0,
   linear-gradient(#fff,#fff) 0 var(--c,10px),
   linear-gradient(#fff,#fff) calc(100% - var(--c,10px)) 0,
   linear-gradient(#fff,#fff) 0 calc(100% - var(--c,10px));
   
 background-size:1px 100%,100% 1px;
 background-repeat:no-repeat;
 
 display:inline-block;
 box-sizing:border-box;
}

body {
 background:green;
}
<div class="box">
</div>
<div class="box" style="--c:20px;">
</div>
<div class="box" style="--c:0px;">
</div>
<div class="box" style="--c:40px;">
</div>
网友评论