如何使角落与正方形成为边界?

时间:2020-05-09 07:09:37

标签: html css css-shapes

如何用角上的正方形做边框?并打破边界之一。就像在图片上一样。

enter image description here

我用另外四个块来做,但是我想可能会有更好的方法。而且我不知道如何打破边界。

:root {
  --size: 8px;
  --r: -3px;
}

.wrapper {
  position: relative;
  border: 1px solid black;
  margin: 25px auto;
  padding: 2px;
  width: max-content;
}

.inner {
  padding: 15px 25px;
  border: 1px solid black;
}

.conner {
  position: absolute;
  height: var(--size);
  width: var(--size);
  background-color: black;
}

.bottom {
  bottom: var(--r);
}

.right {
  right: var(--r);
}

.top {
  top: var(--r);
}

.left {
  left: var(--r);
}
<div class="wrapper">
  <div class="inner">qwerty</div>
  <div class="conner top left"></div>
  <div class="conner top right"></div>
  <div class="conner bottom left"></div>
  <div class="conner bottom right"></div>
</div>

2 个答案:

答案 0 :(得分:4)

您可以在CSS中使用border-image属性。

请按照以下步骤操作:

  1. 创建如下图像:

border image

  1. border-image上应用.wrapper并提供图片网址。 详细了解border-image:https://developer.mozilla.org/en-US/docs/Web/CSS/border-image

.wrapper {
  height: 160px;
  width: 250px;
  border-style: solid; 
  border-image: url(https://i.stack.imgur.com/2RoPg.png) 12 / 6 stretch;
  position: relative;
  box-sizing: border-box;
}

.inner {
  height: 100%;
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;  
}
<div class="wrapper">
  <div class="inner">QWERTY</div>
</div>

答案 1 :(得分:1)

这是一个具有多个背景和CSS变量的想法,可以轻松地控制所有内容:

/blogs/
id

CSS border with square corner and cutted edges