当前位置: 首页 > 知识库问答 >
问题:

如何用img标签覆盖div(就像背景图像一样)?

轩辕成天
2023-03-14

正如这里所讨论的,我试图在div中覆盖一幅图像。仅用这些简单的线条,我就可以通过背景图像来实现这一点:

div{
    width: 172px;
    height: 172px;
    border-style: solid;
    background-image: url('../images/img1.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

结果图像在div中居中并调整大小以适应div的宽度或高度(取决于图像是否宽)。现在我想在div中使用图像标签实现相同的结果。

<div>
  <img src="images/img1.jpg"/>
</div>

有没有办法用普通的CSS来解决这个问题?

共有3个答案

吴镜
2023-03-14

尝试以下操作:

div {
    position:relative;
}
img {
    max-height: 100%;
    max-width: 100%;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

这假设您已为div提供了大小。

季嘉良
2023-03-14

如果您想在不使用CSS背景图像的情况下重新创建backend-size: cover;look,您可以使用以下内容来实现所需的结果。但是,请记住,总是需要一个容器来保存图像。

div {
    position: relative;
    overflow: hidden;
}
img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    min-width: 100%;
    min-height: 100%;
    height: auto;
    width: auto;
}

根据您的附加CSS,您可能需要使用最大宽度和最大高度。

云浩然
2023-03-14

使用“object fit:cover”(对象拟合:封面)以避免丢失比率。

div {
  border: black solid;
  width: 400px;
  height: 400px;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
<div>
  <img src="//lorempixel.com/100/100" />
</div>
 类似资料:
  • 我正在构建一个聊天应用程序,当我向用户发送一个图像时,图像并没有覆盖我给出的背景,而是给出了顶部和底部的有线填充。如何解决这个问题。我给出的填充是每边7dp,这里是我的代码

  • 问题内容: 是否可以将div中的背景图像居中放置?我已经尝试了几乎所有内容-但没有成功: 这可能吗? 问题答案:

  • 问题内容: 我在以下div中有一个背景图片,但是该图片被截断了: 有没有一种方法可以显示背景图像而不将其剪切掉? 问题答案: 您可以使用])属性来实现此目的,大多数浏览器现在都支持该属性。 缩放背景图像以适合div: 要缩放背景图像以覆盖整个div:

  • 问题内容: 我想为不同的div设置背景图像,但是我的问题是: 图片尺寸为固定值(60px)。 改变div的大小 如何拉伸背景图像以填充整个div背景? 问题答案: 加 到背景图片下方的CSS。 您还可以指定确切的尺寸,即:

  • 问题内容: 我有一个。当用户悬停div时,我想用rgba颜色()覆盖背景图像。 我想知道是否有一个一格解决方案(即没有多个div,一个用于图像,一个用于颜色,等等)。 我尝试了多种方法: 而这个CSS: 我看到的唯一选择是制作另一个具有覆盖层的图像,使用JavaScript预加载然后使用。但是,我想要一个仅CSS的解决方案(更整洁;更少的HTTP请求;更少的硬盘)。有没有? 问题答案: Peter

  • 问题内容: 基本上,我有一个链接,当单击它时,我会显示一个模式。现在我可以在模态上显示其他属性,例如标题,除了背景图片!urg! 这是模态: 这些是链接: json: 问题答案: 使用单引号引起了一些错误,您必须将变量带到单引号之外。 对于这个div 这部分被视为字符串 而您希望angular解析此变量 所以要解决这个问题,正确的语法是