可以使用伪类元素 ::before::after 来实现这个效果。首先,将目标 div 设置为相对定位,然后创建四个伪类元素,分别表示 div 的四个角。在每个伪类元素中设置一个透明三角形,并将其置于对应的角上。

以下是一个使用 SCSS 实现这个效果的示例:

div {
  position: relative;
  width: 200px;
  height: 200px;
  background-color: #000;
}

div::before,
div::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
}

div::before {
  top: 0;
  left: 0;
  border-width: 0 0 50px 50px;
  border-color: transparent transparent #000 transparent;
}

div::after {
  top: 0;
  right: 0;
  border-width: 0 50px 50px 0;
  border-color: transparent transparent #000 transparent;
}

div::before,
div::after {
  z-index: 1;
}

div::before {
  transform: translate(-100%, -100%);
}

div::after {
  transform: translate(100%, -100%);
}

这样,div 的四个角就会被透明的三角形切掉。您可以根据需要调整 div 的宽度和高度,以及三角形的大小和颜色

在scss用伪类实现一个div的四个角都被透明三角形切掉

原文地址: http://www.cveoy.top/t/topic/iJKY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录