我试图用SVG创建斜率/对角线(第一次,接受其他替代方案),并且我有很多问题。我的目标是:
斜坡应该是这样的:
我不想使用.png
,然后它会模糊,我希望尽可能完美。
黄色部分应该是div / svg底部或顶部的斜坡。
任何帮助?
HTML
<div>
<svg width="100%" height="200">
<rect xmlns="http://www.w3.org/2000/svg" transform="rotate(-3.39492 500.731 6.21164)" stroke-opacity="0" id="svg_2" height="55" width="100%" y="-1" x="-3" stroke="#000000" fill="#f0dc10"/>
</svg>
</div>
CSS
#svg_2{
left: 0;
top: 0;
width: 100%;
margin-top: 50px;
}
答案 0 :(得分:5)
如果您对css解决方案持开放态度,可以执行以下操作:
在这里演示:http://jsfiddle.net/jme11/D9M2L/
<强> CSS 强>
body {
background-color: #000;
margin: 0px;
}
p {
color: white;
}
section {
position: relative;
background: blue;
color: #fff;
text-align: center;
}
section:before {
position: absolute;
content:'';
}
section.diagonal {
background: blue;
}
footer {
position: relative;
background: black;
color: #fff;
text-align: center;
}
footer:before {
position: absolute;
content:'';
}
footer.diagonal {
background: black;
}
.diagonal {
z-index: 1;
padding: 3em;
}
.diagonal:before {
-webkit-transform: rotate(-3deg);
transform: rotate(-3deg);
-webkit-transform-origin: 3% 0;
transform-origin: 3% 0;
top: 0;
left: -25%;
z-index: -1;
width: 150%;
height: 75%;
background: inherit;
}
<强> HTML:强>
<header>
<p>Header</p>
</header>
<section class="diagonal">
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
</section>
<footer class="diagonal">
<p>Footer</p>
</footer>
如果您想要支持IE9,请为转换添加ms-前缀:http://caniuse.com/#search=transform