倾斜的div顶部和底部CSS

use*_*498 5 html css css-shapes

我正在尝试制作以下倾斜的div.我几乎达到了下面的形状,但是底部并没有像我下面的形状那样在正确的方向上倾斜.我怎么能纠正这个?

形状附加

在此输入图像描述

http://jsfiddle.net//fgdcq3qp/

CSS

.slanted {
background: red;
box-sizing: border-box;
height: 40vh;
width: 100%;
position: relative;
padding: 20px;
}

.slanted:before {
content: "";
background: red;
height: 40px;
transform: skewY(2deg);
position: absolute;
left: 0;
right: 0;
z-index: -1;
}

.slanted:after {
content: "";
background: red;
height: 40px;
transform: skewY(1deg);
position: absolute;
left: 0;
right: 0;
z-index: -1;
}

.slanted:before{    
top: -20px;    
}

.slanted:after {
bottom: -30px;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<div class="slanted">
<h2>Hello World!</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perspiciatis et    debitis pariatur perferendis adipisci doloribus aspernatur ea quo illum a.</p>
Run Code Online (Sandbox Code Playgroud)

The*_* K. 5

也有一个边界解决方案,创建一个长左颜色并使顶部和底部透明。

#trap {
	height: 100px;
	border-top: 20px solid transparent;
	border-left: 500px solid aqua;
	border-bottom: 30px solid transparent;
}
		
Run Code Online (Sandbox Code Playgroud)
<div id="trap"></div>
Run Code Online (Sandbox Code Playgroud)


J. *_*tus 2

只需将 更改skewY.slanted:after负数并进行height相应调整(下面的数字只是一个示例 - 根据您的需要进行调整):

.slanted:after {
    content: "";
    background: red;
    height: 80px;
    transform: skewY(-5deg);
    position: absolute;
    left: 0;
    right: 0;
    z-index: -1;
}
Run Code Online (Sandbox Code Playgroud)

更新了小提琴