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

媒体查询中Grid Template Areas不生效,请求排查解决

问题分析与解决方案

你的媒体查询里有两个核心问题导致布局未生效:

1. 容器宽度未适配大屏

在屏幕≥1024px时,你给.skills设置的max-width: 300px和移动端完全一致,容器宽度没有随屏幕尺寸扩展,网格自然无法铺开排列。

2. 网格列数与区域定义不匹配

你在grid-template-areas里定义了第一行3个区域(one1 two2 three3),但grid-template-columns: 1fr只声明了1列,网格无法在1列空间里放下3个区域,布局逻辑冲突,导致样式不生效。另外第二行的four4 five5也需要对应列数,否则会出现布局错位。


修正后的CSS代码

.skills {
  display: grid;
  gap: 1.5rem;
  max-width: 300px;
  margin: 0 auto;
  grid-template-areas: 'one1' 'two2' 'three3' 'four4' 'five5';
}

.skillz:nth-child(1) {
  grid-area: one1;
}

.skillz:nth-child(2) {
  grid-area: two2;
}

.skillz:nth-child(3) {
  grid-area: three3;
}

.skillz:nth-child(4) {
  grid-area: four4;
}

.skillz:nth-child(5) {
  grid-area: five5;
}

.content-head_links {
  display: none;
}

.skillz {
  border-radius: 10px;
  padding: 20px;
  box-shadow: -1px 1px 22px -1px rgba(202, 202, 202, 0.75);
  -webkit-box-shadow: -1px 1px 22px -1px rgba(202, 202, 202, 0.75);
  -moz-box-shadow: -1px 1px 22px -1px rgba(202, 202, 202, 0.75);
  transition: 250ms;
}

.skillz:hover {
  transform: translateY(5px);
}

@media screen and (min-width:1024px) {
  .skills {
    max-width: 1000px; /* 放开容器宽度,适配大屏 */
    grid-template-columns: repeat(3, 1fr); /* 声明3列,对应第一行的3个区域 */
    grid-template-areas: 
      'one1 two2 three3' 
      'four4 five5 .'; /* 补充空占位符,匹配3列结构 */
  }
}

简化方案(可选)

如果不需要精准的区域定位,直接用grid-template-columns控制列数,去掉grid-area相关代码会更简洁:

@media screen and (min-width:1024px) {
  .skills {
    max-width: 1000px;
    grid-template-columns: repeat(3, 1fr);
  }
}

网格会自动按顺序排列,第一行3个、第二行2个,效果和区域定位一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:12:37