如何设置等同于 background-size 属性“cover”值的 img 标签效果?
在网页设计中创建响应式图像时,一个常见的要求是使图像填充整个容器同时保持其纵横比。传统上,`background-size: cover;` CSS 属性用于背景图像以实现此效果。但是,对于内联图像(使用`<img>`标签),可以使用 `object-fit` 属性采用不同的方法。本文将引导您在``标签上设置此等效效果,并比较使用`
`元素和背景图像。
方法
使用带有标签的 object-fit: cover
`object-fit` CSS 属性用于控制内容如何填充容器。在``标签上使用`object-fit: cover;`可以实现与背景图像的`background-size: cover`相同的效果,确保图像填充容器并保持其纵横比。
示例代码
在以下示例中,我们设置图像以占据全视口宽度和高度。我们使用 `object-fit: cover` 来确保图像填充整个容器同时保持其纵横比。
<!DOCTYPE html>
<html>
<head>
<title>Using object-fit for Cover Effect</title>
<style>
body {
margin: 0;
}
img {
display: block;
width: 100vw;
height: 100vh;
object-fit: cover;
}
</style>
</head>
<body>
<img src=
"https://tutorialspoint.com/static/images/hero.png"
alt="Cover Image Example" />
</body>
</html>
输出

使用背景图像作为替代方案
在某些情况下,您可能更倾向于使用背景图像而不是内联``标签。当图像纯粹是装饰性的或不需要作为文档内容结构的一部分时,这很常见。以下是如何使用`背景图像`和`background-size: cover;`实现类似效果。
示例代码
在此示例中,我们使用``元素作为占位符,但在 CSS 中将实际图像设置为背景图像。我们还使用填充来控制图像容器的大小。
<!DOCTYPE html>
<html>
<head>
<title>Background-size Cover Example</title>
<style>
body {
margin: 0;
}
.background-img {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: url(
'https://tutorialspoint.com/static/images/hero.png') no-repeat center center;
background-size: cover;
}
</style>
</head>
<body>
<div class="background-img"></div>
</body>
</html>
输出

广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP