【问题标题】:WordPress images are not displayed correctly in responsive it gets fixed height and widthWordPress 图像在响应中无法正确显示,它得到固定的高度和宽度
【发布时间】:2026-02-03 07:05:01
【问题描述】:

我正在使用 wordpress 4.6.1 构建一个新网站。开箱即用,它支持响应式图像。 我创建了一个新主题,并简单地添加了循环来显示帖子内容。 当我将图片插入帖子时,它会正确显示图片,但没有响应,即它不会根据浏览器大小提供不同的图片。

生成的图片HTML如下:

`<img
width="1110"
height="740"
src="http://digitaltestsite2.biz/wp-content/uploads/2016/08/Feature-Story-1110x740.jpg"
class="attachment-large size-large wp-post-image"
alt="Feature Story"
srcset="
    /wp-content/uploads/2016/08/Feature-Story-1110x740.jpg 1110w,
    /wp-content/uploads/2016/08/Feature-Story-600x400.jpg 600w,
    /wp-content/uploads/2016/08/Feature-Story-768x512.jpg 768w,
    /wp-content/uploads/2016/08/Feature-Story-250x167.jpg 250w,
    /wp-content/uploads/2016/08/Feature-Story-500x333.jpg 500w,
    /wp-content/uploads/2016/08/Feature-Story-350x233.jpg 350w,
    /wp-content/uploads/2016/08/Feature-Story-700x466.jpg 700w,
    /wp-content/uploads/2016/08/Feature-Story.jpg 1200w
"
sizes="
    (min-width:1199px) 1110px,
    (min-width:991px) 768px,
    (min-width:767px) 590px,
    (min-width:543px) 500px,
    295px
"

`

(请注意,我已经为尺寸属性添加了一个过滤器以启用更多断点。)

如果我删除图像的宽度和高度是响应式的,但 wordpress 似乎正在生成这个,所以我不认为我应该删除它。 我已经在 Chrome 和 Firefox 中尝试并复制了它。

对于这是否是正确的行为和/或我是否做错了什么有任何建议吗?

提前感谢您的任何意见。

【问题讨论】:

  • 你是如何从 wordpress 中获取图片的?你用过 get_post_thumbnail 函数吗?
  • 我只是使用帖子编辑器插入它们,插入媒体。

标签: php wordpress image responsive srcset


【解决方案1】:

测试这些东西可能很棘手。一方面,一旦 Chrome(我认为还有 Firefox 和 Safari)在缓存中的资源大于,它们将不会通过网络加载较小的资源。对于两个,sizes 的心理模型可能非常复杂......

通过删除widthheight 来修复它是没有意义的,因为我相信解析的sizes 大小在确定布局宽度以及从@ 加载哪个资源时胜过width 987654327@.

我建议:

  1. 尝试在测试之间清除缓存
  2. 即使这样可以解决问题...每当您使用响应式图像将页面输入https://ausi.github.io/respimagelint/ 时,这始终是一个好主意!

【讨论】:

  • 我已经尝试清除缓存,但设置的宽度和高度似乎仍然优先。我会给你建议的工具。谢谢
  • 所以我通过 lint 工具运行了我的页面,响应如下:sizes 属性必须与图像的宽度匹配 '不匹配尺寸属性 (min-width: 1199px) 1110px, (min-width: 991px) 768px, (min-width: 767px) 590px, (min-width: 543px) 500px, 295px。在 1000x563 的视口中,图像的宽度为 1110 像素,而不是指定的 768(45% 的差异)。受影响的视口为 300x169-1180x1573。
  • 奇怪的是,如果我删除图像的宽度和高度值,图像会完美运行并根据需要调整大小。
  • 所以经过测试,你是对的!当没有 CSS 时,heightwidth 属性会覆盖 sizes 以设置显示宽度。
  • srcsetsizes 是关于加载图像以匹配布局宽度。但在 CSS 中设置显式布局宽度仍然是最佳实践——在你的情况下,如果你想保留高度和宽度属性,它应该是 img { width: 100%; height: auto; }(你也可以使用 max-width,如果你不想要你的要升级的资源)
最近更新 更多