右梯形轮廓形状(透明)

时间:2013-10-26 19:55:04

标签: css transparency css-shapes

我正在尝试模拟类似于this image的倾斜路径线。

我这样做的方式是使用两个梯形形状,并且彼此重叠,与this jsFiddle中看到的背景相同。

但我意识到我希望形状的 rest 透明,而不是能够与其他对象重叠。

核心只是CSS的一小部分, rightTrapezoid div内的 outlineMaker div。

.rightTrapezoid {
    border-bottom: 100px solid red;
    border-left: 0 solid transparent;
    border-right: 50px solid transparent;
    height: 0;
    width: 100px;
}
.outlineMaker {
    border-bottom: 80px solid white;
    border-left: 0 solid transparent;
    border-right: 40px solid transparent;
    height: 20px;
    width: 80px;
}

有没有一个简洁明了的方法来做到这一点?

2 个答案:

答案 0 :(得分:2)

使用@Feng Huo提示后的完整示例。

HTML标记

<div class="trapezoidLine1">
    <div class="trapezoidLine2"/>
</div>
<div class="trapezoidLine3">
    <div class="trapezoidLine4"/>
</div>

CSS

.trapezoidLine1 {
  position: absolute;
  width: 200px;
  height: 2px;
  background: blue;
}
.trapezoidLine3 {
  position: relative;
  margin-top:45px;
  width: 207px;
  height: 2px;
    background:blue;
  }
.trapezoidLine2 {
  position: absolute;
  width: 47px;
  height: 2px;
  background: blue;
  left: 200px;
  -webkit-transform-origin: 0% 0%;
  -webkit-transform: rotateZ(80deg);
}

.trapezoidLine4 {
  position: absolute;
  width: 45px;
  height: 2px;
  background: blue;

  -webkit-transform-origin: 0% 0%;
  -webkit-transform: rotateZ(270deg);
}

尝试小提琴

http://jsfiddle.net/TNW63/

答案 1 :(得分:1)

而不是试图强迫这种方式以某种方式扭曲。我给了它几分钟的思考并实现了DUHHHHHHH,我可以做this

<div class="trapezoidLine1">
  <div class="trapezoidLine2"/>
</div>

.trapezoidLine1 {
  position: absolute;
  width: 200px;
  height: 10px;
  background: blue;
}

.trapezoidLine2 {
  position: absolute;
  width: 200px;
  height: 10px;
  background: blue;
  left: 200px;
  -webkit-transform-origin: 0% 0%;
  -webkit-transform: rotateZ(45deg);
}

Herp a derp ...