倾斜图像而不扭曲图像

Jud*_* M. 3 html css skew css-transforms

我可以在不扭曲图像的情况下实现这种效果吗?我尝试使用CSS的倾斜效果,但它以某种方式旋转图像并裁剪它的一半,我希望它保持原样,大小相同,但边缘像附加的图像一样,这是我的代码:

div.skewed {
  position: relative;
  height: 140px;
  transform: skew(-2deg) rotate(2deg);
  -webkit-transform: skew(-2deg) rotate(2deg);
  -moz-transform: skew(-2deg) rotate(2deg);
  overflow: hidden;
}

div.skewed > * {
  width: 110%;
  position: absolute;
  top: 50%;
  transform: skew(2deg) rotate(-2deg) translateY(-50%);
  -webkit-transform: skew(2deg) rotate(-2deg) translateY(-50%);
  -moz-transform: skew(2deg) rotate(-2deg) translateY(-50%);
}
Run Code Online (Sandbox Code Playgroud)
<div class="skewed">
  <img src="https://www.todaysparent.com/wp-content/uploads/2013/04/sleeping-baby-article.jpg">
</div>
Run Code Online (Sandbox Code Playgroud)

图像倾斜

and*_*eas 5

您可以使用它clip-path来裁剪图像而不扭曲它。使用该polygon函数,您可以通过提供单个角的 x,y 坐标列表来指定自定义形状。如果您使用像 之类的相对单位,它甚至会做出响应%

img {
  width: 25%; /* for demonstration purposes */
  clip-path: polygon(0 0, 60% 0, 100% 30%, 100% 100%, 0 70%);
}
Run Code Online (Sandbox Code Playgroud)
<img src="https://www.todaysparent.com/wp-content/uploads/2013/04/sleeping-baby-article.jpg">
Run Code Online (Sandbox Code Playgroud)

好的

  • 所需代码最少(仅 1 个简单的 CSS 规则)
  • 保持透明度(您可以设置任何背景)
  • 响应式(您可以轻松缩放图像)

不太好的