我可以设置背景图像的属性(缩放到填充、长宽比适合、长宽比填充)吗?

thr*_*cks 3 html css image

在html中我可以设置背景图像下面的属性\xef\xbc\x9f(图像在iOS中我可以设置图像的填充属性如下,但我不知道是否有类似的属性html):

\n\n
Scale to Fill,\nAspect Fit,\nAspect Fill\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此输入图像描述

\n\n

在我的代码中:

\n\n
<!DOCTYPE html>\n<html lang="en">\n<head>\n    <meta charset="UTF-8">\n    <title>Title</title>\n    <style>\n\n        #div1 {\n            width:300px;\n            height:200px;\n            background: gray url(img/1.png);\n\n        }\n    </style>\n</head>\n<body>\n\n<div id="div1">\n\n</div>\n\n</body>\n</html>\n
Run Code Online (Sandbox Code Playgroud)\n\n

图像是这样的:

\n\n

在此输入图像描述

\n\n

但结果如下,图像被修剪了​​:

\n\n

enter image description here

\n

Raf*_*ngh 5

对于前三个属性,将是:

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

这将是重新创建您使用三个背景尺寸属性显示的福特图像的代码。

background-size: 100% 100%;
background-size: contain;
background-size: cover;
Run Code Online (Sandbox Code Playgroud)
#img1,#img2,#img3{
  background-image:url(https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Ford_Motor_Company_Logo.svg/2000px-Ford_Motor_Company_Logo.svg.png);
  background-position:center center;
  background-repeat:no-repeat;
  background-color:#f00;
  width:20vw;
  height:20vw;
  display:inline-block;
}
#img1{background-size:100% 100%}
#img2{background-size:contain}
#img3{background-size:cover}
Run Code Online (Sandbox Code Playgroud)

也在JSFiddle上。

对于你的第二个问题,最好的解决方案是使用 background-size:cover; 像这样:

<div id="img1"></div>
<div id="img2"></div>
<div id="img3"></div>
Run Code Online (Sandbox Code Playgroud)

如果您还有其他问题,请随时提问!