Gatsby Image竖版图片裁剪异常问题求助
Gatsby竖版Hero图片裁剪异常解决方案
你的问题核心是gatsbyImageData使用CONSTRAINED布局时,未明确指定图片的宽高比例或尺寸,导致Gatsby默认按横版比例生成缩略图,竖版原图被强制裁剪丢失关键内容。
以下是具体修复方案:
方案1:保持原图比例,避免强制裁剪
在GraphQL查询的gatsbyImageData中添加原图的宽高比参数(你的原图2268px×4032px对应比例为9/16),同时补上你需要的sizes配置:
gatsbyImageData( layout: CONSTRAINED placeholder: BLURRED formats: [AUTO, WEBP, AVIF] aspectRatio: 9/16 sizes: "(min-width: 1024px) 1024px, 100vw" )
方案2:改用全屏宽度布局适配Hero场景
如果是做全屏Hero,FULL_WIDTH布局更适配,它会根据容器宽度自动调整高度,同时保留图片原始比例:
gatsbyImageData( layout: FULL_WIDTH placeholder: BLURRED formats: [AUTO, WEBP, AVIF] sizes: "(min-width: 1024px) 1024px, 100vw" )
方案3:强制指定固定高度
若需要固定全屏高度的Hero,可直接设置height参数,让Gatsby按指定高度生成图片,宽度自适应:
gatsbyImageData( layout: CONSTRAINED placeholder: BLURRED formats: [AUTO, WEBP, AVIF] height: 100vh sizes: "(min-width: 1024px) 1024px, 100vw" )
另外,若之前尝试过智能裁剪无效,无需额外配置cropFocus,先解决比例/尺寸问题即可恢复正常显示。
内容的提问来源于stack exchange,提问作者Jamie
相关产品推荐
相关产品推荐

