CSS如何伸展以适应和保持纵横比?

JZ.*_*JZ. 16 html css image aspect-ratio css3

我有以下css:

.mod.left {
background-image: url("http://www.myimage.jpg");
display: block;
height: 160px;
overflow: hidden;
width: 175px;
}
Run Code Online (Sandbox Code Playgroud)

这对应于这个HTML:

<div class="mod left"></div>
Run Code Online (Sandbox Code Playgroud)

这导致了这个烂摊子:

在此输入图像描述

如果我使用css3 background-size:175px 160px; 宽高比真的搞砸了,导致像这样的混乱:

在此输入图像描述

有没有办法拉伸图像以适应div?但在保持纵横比的方式?我想要一个自动裁剪.

rob*_*rtc 31

这应该工作(在支持的浏览器中background-size):

background-size: 175px auto;
Run Code Online (Sandbox Code Playgroud)

你也可以尝试:

background-size: cover;
Run Code Online (Sandbox Code Playgroud)

要么:

background-size: contain;
Run Code Online (Sandbox Code Playgroud)

对MDC有一个很好的解释.

  • css3很漂亮. (4认同)

Bri*_*n D 5

它需要是背景图像吗?

img{
width:300px;
height:auto;
}


<img src="your-photo.png">
Run Code Online (Sandbox Code Playgroud)