如何Slant/Skew只在底部div
How to Slant/Skew only the bottom of the div
我一直在尝试将 Skew/Slant 添加到 div 的底部。我已经取得了一些成功,正如您在我的 JSFiddle 中看到的那样,我已经设法应用了倾斜,但它并不完全是我想要的。
https://jsfiddle.net/hcow6kjr/
目前偏斜应用于图像所在 div 的顶部和底部,这种偏斜似乎也应用于图像本身(如果你取消偏斜,你会看到图像稍微旋转回正常)。我想知道是否可以进行以下调整,以及如何进行这些调整...
1 - 仅将偏斜应用于 图像所在的 div 的底部 ,而不是当前的两个。
2 - 不对图像应用倾斜,使图像水平放置(如果有意义的话)。
HTML
<div>
<h1>
<img src="http://www.visiontechautomotive.co.uk/visiontech/wordpress/wp-content/uploads/2016/08/visiontech-hero-test-1.jpg">
</h1>
</div>
CSS
div {
background-image: green;
height: 700px;
padding: 20px;
margin-top: 100px;
-webkit-transform: skewY(-2deg);
-moz-transform: skewY(-2deg);
-ms-transform: skewY(-2deg);
-o-transform: skewY(-2deg);
transform: skewY(-2deg);
overflow:hidden;
}
提前致谢。
通过添加 transform : skewY(2deg);
使 <img>
与 div 相反。这只会扭曲图像的底部。
CSS
img {
-webkit-transform: skewY(2deg);
-moz-transform: skewY(2deg);
-ms-transform: skewY(2deg);
-o-transform: skewY(2deg);
transform: skewY(2deg);
}
结果
作为替代方案,(如果知道您希望偏斜下的部分的颜色)您可以使用 "after" 伪 class 选择器以一定角度覆盖图像的一部分。
这是一个示例,您将不得不修改数字以使其看起来像您喜欢的样子,但总体思路就在那里。
<div class="background"></div>
.background{
background-image:url('banner.jpg');
background-size: cover;
background-position: center;
height: 460px;
width: 100%;
position: relative;
overflow: hidden;
}
.background:after{
content: '';
background-color: #fff;
display: block;
width: 120%;
height: 109px;
left: 0;
position: absolute;
right: 0;
bottom: -47px;
transform: rotate(-4deg);
}
example of what mine looked like
我一直在尝试将 Skew/Slant 添加到 div 的底部。我已经取得了一些成功,正如您在我的 JSFiddle 中看到的那样,我已经设法应用了倾斜,但它并不完全是我想要的。
https://jsfiddle.net/hcow6kjr/
目前偏斜应用于图像所在 div 的顶部和底部,这种偏斜似乎也应用于图像本身(如果你取消偏斜,你会看到图像稍微旋转回正常)。我想知道是否可以进行以下调整,以及如何进行这些调整...
1 - 仅将偏斜应用于 图像所在的 div 的底部 ,而不是当前的两个。
2 - 不对图像应用倾斜,使图像水平放置(如果有意义的话)。
HTML
<div>
<h1>
<img src="http://www.visiontechautomotive.co.uk/visiontech/wordpress/wp-content/uploads/2016/08/visiontech-hero-test-1.jpg">
</h1>
</div>
CSS
div {
background-image: green;
height: 700px;
padding: 20px;
margin-top: 100px;
-webkit-transform: skewY(-2deg);
-moz-transform: skewY(-2deg);
-ms-transform: skewY(-2deg);
-o-transform: skewY(-2deg);
transform: skewY(-2deg);
overflow:hidden;
}
提前致谢。
通过添加 transform : skewY(2deg);
使 <img>
与 div 相反。这只会扭曲图像的底部。
CSS
img {
-webkit-transform: skewY(2deg);
-moz-transform: skewY(2deg);
-ms-transform: skewY(2deg);
-o-transform: skewY(2deg);
transform: skewY(2deg);
}
结果
作为替代方案,(如果知道您希望偏斜下的部分的颜色)您可以使用 "after" 伪 class 选择器以一定角度覆盖图像的一部分。 这是一个示例,您将不得不修改数字以使其看起来像您喜欢的样子,但总体思路就在那里。
<div class="background"></div>
.background{
background-image:url('banner.jpg');
background-size: cover;
background-position: center;
height: 460px;
width: 100%;
position: relative;
overflow: hidden;
}
.background:after{
content: '';
background-color: #fff;
display: block;
width: 120%;
height: 109px;
left: 0;
position: absolute;
right: 0;
bottom: -47px;
transform: rotate(-4deg);
}
example of what mine looked like