Triple' Rhomboid'图像分割CSS

时间:2016-09-21 17:57:13

标签: html css css3 svg shapes

我试图重新设计一个网站主页。 如何将当前正在使用的全屏背景图像分成3个部分,每个部分之间的间隙只显示在菱形形状内?

我环顾四周,找到了CSS + HTML来创建带有图像的Rhomboid,但它是整个图像,只有这些Rhomboid形状中的一个。



.polygon-each {
  padding: 10px;
  text-align: center;
}
.polygon-each-img-wrap img {
  margin-bottom: 10px;
}
.polygon-each img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
}
img {
  max-width: 100%;
  height: auto;
}
.polygon-clip-rhomboid {
  -webkit-clip-path: polygon(0% 100%, 30% 0%, 100% 0%, 70% 100%);
  clip-path: polygon(0% 100%, 30% 0%, 100% 0%, 70% 100%);
  -webkit-clip-path: url("#polygon-clip-rhomboid");
  clip-path: url("#polygon-clip-rhomboid");
}

<div class="polygon-each">
  <div class="polygon-each-img-wrap">
    <img src="/img/rules-bgrnd.png" alt="demo-clip-rhomboid" class="polygon-clip-rhomboid">
  </div>

  <svg class="clip-svg">
    <defs>
      <clipPath id="polygon-clip-rhomboid" clipPathUnits="objectBoundingBox">
        <polygon points="0 1, 0.3 0, 1 0, 0.7 1" />
      </clipPath>
    </defs>
  </svg>
</div>
&#13;
&#13;
&#13;

可以看到当前显示内容的视图here

1 个答案:

答案 0 :(得分:0)

你可以做到这一点的一种方法就是利用一个更复杂的剪切路径,里面有三个菱形。有一些工具可以帮助您“绘制”您想要的路径并为您生成CSS,http://bennettfeely.com/clippy/是我能够找到的,但似乎还有更多。

基本上,你希望你的路径有一个点,它看起来像你正在创建三个不同的形状,即使它只是一个剪辑。

.polygon-each {
  padding: 10px;
  text-align: center;
}
.polygon-each-img-wrap img {
  margin-bottom: 10px;
  width:100%;
    -webkit-clip-path: polygon(0% 100%, 15% 0, 33% 0%, 18% 100%, 32% 100%, 46% 0, 66% 0, 52% 100%, 68% 100%, 80% 0%, 100% 0%, 91% 100%);
clip-path: polygon(0% 100%, 15% 0, 33% 0%, 18% 100%, 32% 100%, 46% 0, 66% 0, 52% 100%, 68% 100%, 80% 0%, 100% 0%, 91% 100%);
}
.polygon-each img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
}
img {
  max-width: 100%;
  height: auto;
}

https://jsfiddle.net/bjc89nkv/ 有一个快速而混乱的演示,我可以“画”来创造这样的效果。