如何在 html 和 css 中制作具有保留比例的高度和宽度响应图像?

2024-06-25

类似的问题还有很多,但都没有解决我的需求:

  • 应保持纵横比,并且
  • 高度响应,并且
  • 宽度响应,并且
  • 应始终在浏览器窗口中看到完整图像(即响应能力应针对最紧密的尺寸)。

我已经满足了这些要求,但并不是同时满足所有要求。例如:

如果我让下面的代码保持原样height="90%" width="auto"那么它是高度响应的但不是宽度响应的。

如果我改为height="auto" width="90%"那么它是宽度响应的但不是高度响应的。

如果我改为height="90%" width="90%"那么它的高度和宽度都会响应,但比例不会保持。

要进行测试,请“运行代码片段”并通过更改浏览器窗口的高度和宽度来检查“整页”情况。

.test {
  height: 90vh;
  width: 90%;
  background-color: #222;
  color: #eee;
  padding: 2rem;
}

.test img {
  align-items: center;
}
<div class="test">
  <img height="90%" width="auto" src="https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1600&q=80">
</div>

我已经以许多不同的方式进行了测试(例如使用最大宽度等),但到目前为止尚未成功。 知道如何更改上述代码以便同时满足所有要求吗?


您可以使用max-width and max-height一起在图像上,然后它将保持您的纵横比并始终适合屏幕并显示完整的图像

body {
  margin: 0;
}

.test {
  background-color: #222;
  color: #eee;
  padding: 2rem;
  height: 90vh;
  width: 90%;
  box-sizing: border-box;
}

.test img {
  margin: auto;
  display: block;
  max-width: 100%;
  max-height: 100%;
}
<div class="test">
  <img src="https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1600&q=80">
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 html 和 css 中制作具有保留比例的高度和宽度响应图像? 的相关文章

  • 如何缩短静态 HTML 网站的加载时间?

    我们正在开发一个网站 注意到 GIF 图像 100kb 200kb 加载速度非常慢 该网站是一个带有 CSS HTML 的静态网站 有谁能指出为什么图像加载缓慢 使用 JPG 会提高性能吗 以下是该图像的 HTML 代码 div img s
  • CSS 向后/反向过渡

    我想知道是否有任何方法可以使用相同的 CSS 过渡实例来向前移动然后向后 反向移动 例如 假设我有这样的转变 webkit keyframes fade transition from opacity 0 to opacity 1 以及这次
  • 适用于所有浏览器的 Center HTML 5 音频播放器

    我尝试过这样的代码 div style margin 0 auto div
  • 使用 javascript 加载不同的 CSS 样式表

    我需要使用 javascript 根据正在传递的 URL 变量加载不同的样式表 场景是这样的 我们需要使用一个 CSS 样式表和一个不同的样式表来维护一个移动网站 当通过 iOS 应用程序中加载的 Web 视图访问该页面时 该样式表将用于设
  • HTML5 应用程序缓存:清单已更新,但文件再次从应用程序缓存中获取

    我有一个缓存清单 其中有注释 Version 3 2 为了更新所有应用程序 我只需更改版本号 它有效 但是 当我更新清单时 所有内容都会正确更新 新缓存已填充 但实际文件会从 旧 缓存中再获取一次 当我重新加载两次时 所有内容都会更新 这种
  • 使用自定义数据属性是否会产生浏览器兼容性问题?

    我必须在自定义数据标签或 id 之间进行选择 我想选择自定义数据标签 但我想确保它们不会导致当今最广泛使用的浏览器的浏览器兼容性问题 我正在使用 jQuery 1 6 我的特定场景涉及到我需要为多个操作引用 commentId 的情况 di
  • 允许用户在 HTML5 Canvas 游戏中键入文本

    我正在尝试结合使用 Canvas 和优秀的 KineticJS 库来编写我的第一个 HTML5 游戏 但我很早就遇到了一些困难 我想做的是要求用户在游戏的框中输入他们的名字 做了一些研究后 除了在我正在使用的画布部分上获取浮动 HTML 元
  • 在页面之间传递 javascript 变量[重复]

    这个问题在这里已经有答案了 可能的重复 跨页面保留 javascript 变量 https stackoverflow com questions 1981673 persist javascript variables across pa
  • 使用 jQuery 禁用 CSS 继承

    有没有办法使用 jQuery 或通用 javascript 在块级别禁用 CSS 继承 例如 如果我通过 javascript 拉入外部资源 例如 Pastie org 它们将拥有自己的 CSS 而我的 CSS 会覆盖它们 我想将嵌入代码放
  • PHPExcel - 如何使用 preg_replace 替换文本

    我正在使用 PHPExcel 将数据库中的数据提取到组织好的 Excel 工作表中 除了一件事之外 一切都运转良好 我的数据库条目有时可能包含 HTML 标记 例如 strong strong br p p 等等 所以我设法让这个 PHP
  • 如何在 Bootstrap 中将单选按钮设置为“选中”? [复制]

    这个问题在这里已经有答案了 我使用 Bootstrap 按钮作为单选按钮 http getbootstrap com javascript buttons http getbootstrap com javascript buttons 这
  • 如何使用 Flex 创建自定义马赛克

    我正在尝试使用 Flex 创建一个自定义马赛克 如下所示 除了框 4 的高度和宽度加倍之外 所有框的宽度都是父容器的三分之一 我设法达到以下条件 push group element ul push group element ul li
  • 在java中将HTML转换为RTF?

    我需要将 HTML 转换为 RTF 我正在使用以下代码 private static String convertToRTF String htmlStr OutputStream os new ByteArrayOutputStream
  • 设置三个输入数字的最大值

    我有三个输入数字
  • jQuery onclick 隐藏其父元素[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想隐藏 li tag on a 使
  • 在 Bootstrap 选择器上使用 jQuery 取消选择选项

    我对一些 UI 元素使用 Bootstrap SelectPicker 它允许用户选择多个选项并将其呈现在段落标签中的屏幕上 他们还应该能够删除选定的选项 这是我的代码 用于将选定的选项渲染到屏幕上 以便每个选项旁边都会显示一个 X 单击它
  • html 基目录和子目录

    在我的 html 中我有 但我的链接全部转到 mydomain com 没有 dev 子文件夹 为什么我的链接没有指向子文件夹 提前致谢 编辑 我的链接html是 div ul li a href index html Home a li
  • 如何转义 onClick 处理程序内 JavaScript 代码中的字符串?

    也许我只是想得太难了 但我在弄清楚链接的 onClick 处理程序内的某些 JavaScript 代码中的字符串上使用什么转义时遇到了问题 例子 a href Select a The and 是发生模板替换的地方 我的问题是项目名称可以包
  • Bootstrap 面板主体,内有表格

    我有一个引导面板 单击图标即可折叠并自动关闭 该面板内部包含一个全宽的表格 但只有在没有任何内容时才看起来像这样panel body 例如 这张桌子横跨面板的整个宽度和高度 看起来不错 但如果我可以有一个围绕桌子的类 我会更喜欢 但是 如果
  • Android:Html 锚链接仅在 Web 视图中有效一次

    在使用锚链接加载 html 内容时 我在 webview 中遇到一些奇怪的问题 以下代码非常适合锚标记 但是只有一次 第二次当我按下锚标签时不工作 protected void onCreate Bundle savedInstanceSt

随机推荐