空心倒五角形

时间:2017-03-14 00:20:38

标签: css css3 linear-gradients

我试图像这样制作一个空心(内部透明)倒五边形:

Inverted Pentagon

我尝试使用以下css执行此操作:

.pentagon {

  border: solid 86px #E44126;
  border-bottom: none;
  width: 100%;
  height: 60%;
  position: absolute;

}

.pentagon:before {
  content: "";
  position: absolute;
  top: 100%;
  right: 0px;
  width: 50%;
  height: 100px;
  background: -webkit-linear-gradient(to right bottom,  transparent 50%, #E44126 50%,);
  background: linear-gradient(to right bottom, transparent 50%, #E44126 50%);

}
.pentagon:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0px;
  width: 50%;
  height: 100px;
  background: -webkit-linear-gradient(to right bottom, transparent 50%, #E44126 50%);
  background: linear-gradient(to left bottom, transparent 50%, #E44126 50%);
}

但我可以搞清楚。我想过使用clip-path但IE没有浏览器支持。

1 个答案:

答案 0 :(得分:0)

这是一个改进,但使用旋转。可以针对宽度/高度/边框大小调整值。 http://codepen.io/anon/pen/KWqEqL

* {
  box-sizing: border-box;
}

.container {
  width: 100px;
  height: 100px;
  position: relative;
}


.pentagon {
  border: solid 5px #E44126;
  border-bottom: none;
  width: 100%;
  height: 50%;
}

.pentagon:before {
  content: '';
  display: inline-block;
  width: 65%;
  height: 65%;
  border: 5px solid #E44126;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
  border-top: 0;
  border-left: 0;
}

HTML:

<div class="container"><div class="pentagon"></div></div>