CSS Grid中使用背景图无法显示问题求助
问题分析与解决方案
嘿,我看了你的代码,背景图看不到主要是两个原因,咱们一步步搞定:
1. 图片URL用错了
你现在用的postimg链接是图片的分享页面地址,不是直接的图片资源链接。background-image需要指向直接的图片文件(比如.jpg/.png),不然浏览器找不到要加载的图片。
解决方法:打开你上传图片的postimg页面,右键点击图片,选择“复制图片地址”,把这个地址替换到background-image的url()里。
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: cover和background-position: center能让图片更好地适配容器,避免出现变形或显示不全的情况。
内容的提问来源于stack exchange,提问作者flamant




