如何用垂直折线分割页面背景?

时间:2018-11-13 20:03:17

标签: html css background polyline

found如何用垂直线分割页面-参见jsfiddleenter image description here

代码在下面-

body {
    background-color: white;
}

#background {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 50%;
    height: 100%;
    background-color: black;
    z-index: 1;
}

#content {
    position: relative;
    z-index: 2;
    padding: 30px;
    text-align: center;
    font-weight: bold;
    color: red; 
    font-family: Arial, sans-serif;
}

现在,我想用折线替换垂直线,以获得如下所示的内容: enter image description here

如何使用CSS?

P.S。我无法使用背景图片,因为折线可能会不同(这些点的坐标会有所不同)。

1 个答案:

答案 0 :(得分:3)

您可以考虑使用多个背景来实现此目的,但是根据形状来查找不同的值可能会比较棘手。基本上是将三角形和矩形彼此叠加在一起以创建最后一层(更改颜色将有助于您识别每个层)

body {
  margin:0;
}
.box {
  height:100vh;
  background:
    linear-gradient(to bottom right,#000 49.8%,transparent 50%) 0 0/70% 120%,
    linear-gradient(to top right,#000 49.8%,transparent 50%) 0 0/60% 70%,
    linear-gradient(#000,#000) 0 100%/50% 31%,
    linear-gradient(to bottom right,#000 49.8%,transparent 50%) 55.3% 100%/10% 30.2%;
  background-repeat:no-repeat;
}
<div class="box">

</div>

您还可以在伪元素中考虑clip-path,这样会更容易(https://bennettfeely.com/clippy/

body {
  margin:0;
}
.box {
  height:100vh;
  position:relative;
}
.box:before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  right:20%;
  background:#000;
  -webkit-clip-path: polygon(0 0, 72% 0, 59% 33%, 68% 62%, 47% 100%, 0 100%);
clip-path: polygon(0 0, 72% 0, 59% 33%, 68% 62%, 47% 100%, 0 100%);
}
<div class="box">

</div>