You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS Grid中最后一张缩略图无法显示的问题求助

问题描述

我跟着教程编写图片画廊页面,但CSS Grid布局里的最后一张缩略图(img7)无法显示,已经花了几小时排查还是解决不了,附上相关代码:

HTML代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name ='viewport' content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge"
<title>Document</title>
<link rel="stylesheet" href = 'css/reset.css'>
<link rel="stylesheet" href = 'css/main.css'>
<link rel="stylesheet" href = 'css/gallery.css'>

</head>
<body>
<header id="header-main">
<nav class="wrapper-main">
<a href = '#'><img scr ='img/logo' alt = 'BaileyDownsLogo'></a>
    <ul>
<li> <a href = "">News</a></li>
<li> <a href = "">Ginger Snaps Photos</a></li>
<li> <a href = "">Emily Perkins</a></li>
<li> <a href = "">Katharine Isabelle</a></li>
<li> <a href = "">Register</a></li>
<li> <a href = "">Contacts</a></li>
<li> <a href = "">Forum</a></li>

    </ul>
 </nav>

</header>

<section id = 'index-gallery' class="wrapper-gallery">

<p>Life in Bailey Downs</p>
<h2>Ginger Snaps Photos</h2>
<div class='gallery-img img1'>
<div><a href=#>Brigitte Fitzgerald</a></div>
</div>
<div class='gallery-img img2'>
<div><a href="#">Brigitte Fitzgerald</a></div>
</div>
<div class='gallery-img img3'>
<div><a href="#">Brigitte Fitzgerald</a></div>
</div>
<div class='gallery-img img4'>
<div><a href="#">Brigitte Fitzgerald</a></div>
</div>
<div class='gallery-img img5'>
<div><a href="#">Brigitte Fitzgerald</a></div>
</div>
<div class='gallery-img img6'>
 <div><a href="#">Brigitte Fitzgerald</a></div>
</div>
 <div class='gallery-img img7'>
 <div><a href="#">Brigitte Fitzgerald</a></div>
</div>

 </section>
 <script src="js/gallery.js"></script>

 </body>

 enter code here</html>

CSS代码

#index-gallery {
    display:grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto;
    grid-gap: 10px;
    grid-template-areas: 
    'gallery-p gallery-p gallery-p gallery-p'
    'gallery-h2 gallery-h2 gallery-h2 gallery-h2'
    'img1 img2 img3 img4'
    'img5 img6 img3 img7';


}

#index-gallery .gallery-img {
   width: 100%;
   height:300px;
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
   cursor: pointer;

}

#index-gallery p {
    
    grid-area: gallery-p;
    
    
 }

 #index-gallery h2 {
    
    grid-area: gallery-h2;
    
    
 }



#index-gallery .img1 {
    
    grid-area: img1;
    background-image: url('../img/thumbs/img1.jpg');
     }

 #index-gallery .img2 {
    
    grid-area: img2;
    background-image: url('../img/thumbs/img2.jpg');
     }


 #index-gallery .img3 {
    
    grid-area: img3;
    background-image: url('../img/thumbs/img3.jpg');
    height:610px;
    }

 #index-gallery .img4 {
    
    grid-area: img4;
    background-image: url('../img/thumbs/img4.jpg');
    }


 #index-gallery .img5 {
    
    grid-area: img5;
    background-image: url('../img/thumbs/img5.jpg');
    }

 #index-gallery .img6 {
    
    grid-area: img6;
    background-image: url('../img/thumbs/img6.jpg');
    }

 #index-gallery .img7 {
    
    grid-area: img7;
    background-image: url('..img/thumbs/img7.jpg');
    height:110px;
    }

解决方案

最后一张缩略图无法显示主要有两个问题:

  1. 背景图片路径错误
    img7的background-image路径写成了url('..img/thumbs/img7.jpg'),正确路径应为url('../img/thumbs/img7.jpg')——..和img之间缺少斜杠,导致浏览器无法定位到图片文件。

  2. 高度设置过小
    img3跨了两行(总高度为300px+10px间隙+300px=610px),img7所在行的高度由img3决定,但img7被设置为110px,远小于行高,导致图片显示区域被压缩。将img7的高度调整为300px,即可和同排的img5、img6高度匹配,正常显示。

修正后的img7 CSS代码:

#index-gallery .img7 {
    grid-area: img7;
    background-image: url('../img/thumbs/img7.jpg');
    height:300px;
}

另外还有两个不影响图片显示但建议修正的小问题:

  • HTML中<meta http-equiv="X-UA-Compatible" content="ie=edge"未闭合,需添加>
  • 头部logo的img标签里scr是拼写错误,应为src

内容的提问来源于stack exchange,提问作者Сергей Филимонов

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 08:15:43