我必须建立这个网站,我面临着交替使用Trapezium Divs的独特挑战。我之前从未遇到过这样的事情,我也不知道如何实现这一目标。为了使事情变得更复杂,这将成为一个响应迅速的网站。
有什么想法吗?
答案 0 :(得分:3)
你可以使用SkewX变换来扭曲div之前的div:
div {
height: 50px;
display: inline-block;
background: lightgray;
padding: 10px;
line-height: 50px;
text-align: center;
position: relative;
transition: all 0.6s;
z-index:1;
}
div:before {
content: "";
position: absolute;
height: inherit;
background: inherit;
top: 0;
left: 30%;
height: 70px;
width: 100%;
-webkit-transform: skewX(45deg);
-moz-transform: skewX(45deg);
transform: skewX(45deg);
z-index: -1;
}
div:hover {
background: tomato;
}

<div>Some text here</div>
&#13;
你可以为许多不同的梯形做到这一点:
html,
body {
margin: 0;
padding: 0;
text-align: center;
}
body {
background: blue;
}
div {
height: 50px;
display: inline-block;
background: lightgray;
line-height: 50px;
text-align: center;
position: relative;
transition: all 0.6s;
cursor: pointer;
z-index: 1;
}
.right:before {
content: "";
position: absolute;
height: inherit;
background: inherit;
top: 0;
left: 50%;
height: 100%;
width: 100%;
-webkit-transform: skewX(45deg);
-moz-transform: skewX(45deg);
transform: skewX(45deg);
z-index: -1;
}
div:hover {
background: tomato;
}
.left {
margin-left: 50px;
}
.right {
margin-right: 50px;
}
.left:after {
content: "";
position: absolute;
height: inherit;
background: inherit;
top: 0;
left: -50%;
height: 100%;
width: 100%;
-webkit-transform: skewX(-45deg);
-moz-transform: skewX(-45deg);
transform: skewX(-45deg);
z-index: -1;
}
&#13;
<div class="right">Some Text saying</div>
<br/>
<br/>
<div class="left">how much I love the</div>
<br/>
<br/>
<div class="left right">MINIONS!</div>
&#13;
答案 1 :(得分:0)
如果你在svg中定义了多个trapzoids,你可以在div中重复使用它们来获得你想要的形状。 定义形状模板使形状可重复使用 要重复使用它们,只需定义&lt; use xlink:href =“#targetid”&gt; 元素
.example {
width: 400px;
height: 200px;
border: 2px solid pink;
}
.template {
display: none;
}
<svg class="template" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<def>
<polygon id="trapzoid" points="0,20 100,0 100,100 0,80" />
<polygon id="trapzoid2" points="20,0 80,0 100,100, 0,100" />
</def>
</svg>
<div class="example">
<svg width="100%" height="100%" preserveAspectRatio="none" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<use xlink:href="#trapzoid" />
</svg>
</div>
<div class="example">
<svg width="100%" height="100%" preserveAspectRatio="none" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<use xlink:href="#trapzoid2" />
</svg>
</div>