You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

CSS Grid中使用背景图无法显示问题求助

问题分析与解决方案

嘿,我看了你的代码,背景图看不到主要是两个原因,咱们一步步搞定:

1. 图片URL用错了

你现在用的postimg链接是图片的分享页面地址,不是直接的图片资源链接。background-image需要指向直接的图片文件(比如.jpg/.png),不然浏览器找不到要加载的图片。

解决方法:打开你上传图片的postimg页面,右键点击图片,选择“复制图片地址”,把这个地址替换到background-imageurl()里。

2. Grid布局的宽高设置有冲突

你给.firstPage设了固定宽度1366px,又给两个子元素分别设了700px和666px(加起来刚好1366),但同时用了grid-template-columns: repeat(2, 1fr)——这个属性会让两列平分容器宽度,和你给子元素设的固定宽会“打架”,可能导致布局异常。

可以把grid-template-columns改成固定列宽,匹配你想要的尺寸,同时去掉子元素的width,让Grid来控制列宽:

修正后的完整代码

.firstPage {
  display: grid;
  /* 用固定列宽代替1fr,匹配你需要的尺寸 */
  grid-template-columns: 700px 666px;
  grid-template-rows: 962px; /* 直接设置行高,更简洁 */
  grid-template-areas: "homePageImage1 homePageImage2";
  width: 1366px;
}

.homePageImage1 {
  grid-area: homePageImage1;
  /* 替换成你复制的图片直链 */
  background-image: url('https://i.postimg.cc/F12QYFjW/your-image1.jpg');
  background-size: cover; /* 让图片覆盖容器,避免拉伸变形 */
  background-position: center; /* 居中显示图片 */
  height: 962px;
}

.homePageImage2 {
  grid-area: homePageImage2;
  /* 同样替换成图片直链 */
  background-image: url("https://i.postimg.cc/LJQDs5Ph/your-image2.jpg");
  background-size: cover;
  background-position: center;
  height: 962px;
}
<div class="firstPage">
  <div class="homePageImage1"></div>
  <div class="homePageImage2"></div>
</div>

额外小建议

  • 每次用background-image时,都可以把URL复制到浏览器地址栏测试,确认能直接显示图片,而不是跳转页面。
  • 添加background-size: coverbackground-position: center能让图片更好地适配容器,避免出现变形或显示不全的情况。

内容的提问来源于stack exchange,提问作者flamant

火山引擎 最新活动