在哪里指定图像尺寸以实现最快渲染:在 HTML 中还是在 CSS 中?

2024-05-09

我了解到,明确指定图像尺寸是最佳实践。然后,浏览器可以在仍然下载图像本身的同时布局页面,从而缩短(感知的)页面渲染时间。

这是真的?如果是这样,在 HTML 或 CSS 中指定尺寸是否有区别?

  • HTML: <img src="" width="200" height="100">
  • 内联CSS:<img src="" style="width: 200px; height: 100px">
  • 外部CSS:#myImage { width: 200px; height: 200px; }

根据谷歌页面速度 http://code.google.com/speed/page-speed/docs/rendering.html#SpecifyImageDimensions,如果您通过 CSS 或 HTML 指定尺寸并不重要,只要您的 CSS 面向 IMG 标签本身而不是父元素即可:

当浏览器布置页面时,它需要能够围绕可替换元素(例如图像)流动。它甚至可以在下载图像之前开始渲染页面,前提是它知道包裹不可替换元素的尺寸。如果包含的文档中未指定尺寸,或者指定的尺寸与实际图像的尺寸不匹配,则下载图像后浏览器将要求回流并重新绘制。为了防止重排,请在 HTML 标记或 CSS 中指定所有图像的宽度和高度。

但是,请注意,他们建议不要使用这些尺寸调整图像大小,即始终使用实际尺寸:

不要使用宽度和高度规范来动态缩放图像。如果图像文件实际上为 60 x 60 像素,请勿在 HTML 或 CSS 中将尺寸设置为 30 x 30。如果图像需要更小,请在图像编辑器中缩放并设置其尺寸以匹配(有关详细信息,请参阅优化图像。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在哪里指定图像尺寸以实现最快渲染:在 HTML 中还是在 CSS 中? 的相关文章

  • 正则表达式拒绝连续字符

    我对正则表达式仍然很陌生 基本上我需要做的是创建一个接受数字和字母但不允许输入连续字符的规则 例如 abcd gt 好的 abbcd gt 坏的 我已经完成了大部分工作 但我无法弄清楚的部分是如何禁止连续字符 到目前为止我的代码 A Za
  • 在 Javascript 中访问表格单元格的内容

    我有一个嵌套在 HTML 表格单元格元素内的复选框 如何从 Javascript 访问内部复选框 我见过的所有示例都改变了内部 HTML 本身或视觉属性 这不是我感兴趣的 我尝试过 childNodes 数组 但显然它是空的 如果你不使用
  • 如何向 div 添加“闪耀”叠加层?

    如何添加如下图所示的漂亮叠加层 考虑以下 HTML 我将如何添加这样的覆盖层 我知道我可以在它上面使用渐变 并对角应用它 但我也可以弯曲它吗 div class photostrip div class overlay div img sr
  • 仅在 Safari 中位于 div 外部的文本

    我有这个错误 让一些文本出现在右侧 div 之外的几个像素处 奇怪的是 这种情况只发生在 Safari 中 我以前从未见过它 它只是我使用过的常规 HTML CSS 我在互联网上环顾四周 但找不到完全相同的问题 由于高度固定 只有一些内容在
  • 表格底部的粘性滚动条

    我不确定 粘性 是否是这个术语 但是有没有办法使滚动条overflow auto保持可见 我有一个相当大的表格 我希望它可以水平滚动 但是 表格也相当高 因此当页面加载时 水平滚动条不在浏览器的视口内 因此很难判断表格是否可滚动 div s
  • 使用 PHP 和 MySQL 的服务器端事件

    我正在使用 PHP 和 MySQL 构建一个 非常基本的 应用程序 该应用程序的目的是在网页上显示 实时 数据交易 这些交易来自于transactionsMySQL 数据库中的表 到目前为止 我可以在网页上检索并显示数据 不过我期待看到数据
  • 推荐的 HTML 格式化程序脚本/实用程序? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在单页应用程序中使用 #-URL?

    本文 http danwebb net 2011 5 28 it is about the hashbangs提出了一个非常令人信服的论点 因为 URL 是长期存在的 它们被添加书签并传递 所以它们应该是有意义的 并且使用哈希进行真正的路由
  • 正则表达式从 img 标签获取 src 值

    我正在使用以下正则表达式来获取src第一个的值imgHTML 文档中的标签 string match src
  • Javascript 制作音频 blob

    我正在测试 html 音频标签 我想制作音频 blob url 就像 youtube 或 vimeo 那样 并将其添加到 src 开始播放音频 我一直在测试new Blob and URL createObjectURL 但我不知道如何使用
  • css 在 body 上应用宽度

    我对 html 和 css 完全陌生 所以我的问题可能非常基本 但希望你们能帮助我 udnerstnad 我正在使用以下 css 代码 body background color Olive width 550px font family
  • 使绝对定位的div扩展父div高度

    正如你在下面的 CSS 中看到的 我想要child2将自己定位在之前child1 这是因为我目前正在开发的网站也应该在移动设备上运行 在移动设备上child2应该位于底部 因为它包含我想要在移动设备上的内容下方的导航 为什么不是 2 个母版
  • 如何获取 Spotify API 的访问令牌?

    我已经研究 Spotify api 和示例源代码几天了 但我仍然不知道如何获取访问令牌来访问用户的播放列表数据 我已经到达了拉起登录窗口 用户登录 然后收到授权码的地步 此时 我尝试做这样的事情 window open https acco
  • GWT - css 中常量的问题

    我是 GWT 新手 我正在构建一个小型示例应用程序 我有几个 CSS 文件 我能够成功使用 ClientBundle 和 CssResource 将样式分配给 UiBinder 脚本中定义的元素 现在我想更进一步 使用 def css ru
  • HTML/CSS:页面左侧的导航栏

    我发现创建这样具有良好语义的布局很尴尬 左侧是大约 150 像素宽的列 其中包含导航元素 我想将网站这部分的 HTML 放在 HTML 代码的开头 然后有一个简单的方法来强制页面的其余部分不侵占左侧的区域 150 像素列 我考虑过一些选择
  • 将 div 附加到另一个 div 的右侧

    我有一个 div 它就像一个容器 里面有 2 个图像 一张图像位于 div 的左侧 另一张图像位于右侧 我的容器是Bootstrap的容器 它们都用 div 包裹 并且div s position is fixed 我的问题是我无法找到要附
  • 在选择 tr 来覆盖父 div 上的第 n 个子类时,如何使用 jquery addClass ?

    我用它来选择一个 tr 当单击它来更改 tr 的颜色时 tr click function this addClass selected siblings removeClass selected 参见小提琴http jsfiddle ne
  • CSS3动画比例[重复]

    这个问题在这里已经有答案了 我正在尝试对 div 进行动画处理 以便在页面加载时它具有比例 0 0 并动画到比例 1 1 我遇到的问题是 一旦动画生效 div 就会再次缩放到 0 我想要的是 div 动画缩放 1 1 并保持这样 这是我的
  • HTML 标签在 Ionic 5 警报文本中不起作用

    我已将以下代码从 Ionic 3 迁移到 Ionic 5 const alert await this alertCtrl create subHeader About b this user name b message Test Mes
  • Flexbox 列的垂直间距相等

    我在CSS中努力让我的Flexbox在垂直等距的列中显示项目 从而使列的每行之间的空间均匀 html body flex container margin 0 height 100 width 100 body font family Dr

随机推荐