html - 缩放图像以适合边界框

标签 html css image resize autoresize

是否有仅 css 的解决方案可以将图像缩放到边界框(保持纵横比)?如果图像大于容器,则此方法有效:

img {
  max-width: 100%;
  max-height: 100%;
}

例子:

但我想放大图像直到尺寸为容器的 100%。

最佳答案

感谢 CSS3 有一个解决方案!

解决方法是将图片作为background-image,然后设置background-sizecontain

HTML

<div class='bounding-box'>
</div>

CSS

.bounding-box {
  background-image: url(...);
  background-repeat: no-repeat;
  background-size: contain;
}

在这里测试:http://www.w3schools.com/cssref/playit.asp?filename=playcss_background-size&preval=contain

与最新浏览器完全兼容:http://caniuse.com/background-img-opts

要将 div 居中对齐,您可以使用以下变体:

.bounding-box {
  background-image: url(...);
  background-size: contain;
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
}

关于html - 缩放图像以适合边界框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9994493/

相关文章:

html - 动态 html 文本框宽度 Angular

java - 如何将路径映射到静态 HTML 文件?

css - 如何编辑用户Common.css文件

css - 在 CSS 中为 PNG 图像投影

php - 在 Magento 中使用缩略图切换基本图像

image - 使用 VueJs 复制或下载生成的 QR (vue-qrcode) 代码

html - 为什么 css 网格中的子元素水平占据容器的 100%,而垂直占据容器的 90%?

html - 如何使 2px 的字体大小小于父元素?

asp.net - 如何根据 asp.net 中最长的文本获取表格单元格宽度

CSS 高度 :auto for all types except SVG