创建斜率全宽css3

uni*_*zor 2 html css svg diagonal

我正在尝试用SVG创建一个斜率/对角线(第一次,接受其他替代方案)并且我有很多问题.我的目标是:

  • 创建一个全宽度斜率(准备响应)
  • 我希望斜坡位于div部分的顶部而其他部分位于底部
  • 如果有替代方案,对.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>
Run Code Online (Sandbox Code Playgroud)

CSS

#svg_2{
    left: 0;
    top: 0;
    width: 100%;
    margin-top: 50px;
}
Run Code Online (Sandbox Code Playgroud)

jme*_*e11 6

如果您对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;
}
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

如果您想要支持IE9,请为转换添加ms-前缀:http://caniuse.com/#search=transform