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

求助:id为eight的div响应式显示隐藏不符合预期

解决id为"eight"的div响应式显示隐藏问题

问题根因

你在第96行给#eight加了全局的display: none;,这会让这个div在所有屏幕尺寸下都被隐藏。就算你写了针对大屏幕的显示规则,如果媒体查询的样式写在全局样式前面,或者优先级不够,就会被全局的隐藏规则覆盖,导致大屏幕下也看不到。

两种修复方案

方案1:默认显示,小屏幕隐藏(推荐)

删掉全局的display: none;,把默认状态设为显示,再用媒体查询在小屏幕下隐藏:

/* 大屏幕(>900px)默认显示 */
#eight {
  display: block; /* 换成你实际需要的display值,比如flex、inline-block都行 */
}

/* 屏幕宽度小于900px时隐藏 */
@media (max-width: 899px) {
  #eight {
    display: none;
  }
}

这种写法逻辑更直观:默认情况下元素是显示的,只有当屏幕缩小到900px以下时才隐藏,完全符合你的需求。

方案2:保留全局隐藏,调整样式顺序/优先级

如果一定要保留第96行的display: none;,必须把针对大屏幕的媒体查询样式放在全局样式之后:

/* 全局先设为隐藏 */
#eight {
  display: none;
}

/* 大屏幕(≥900px)显示,这段必须写在上面的全局样式之后 */
@media (min-width: 900px) {
  #eight {
    display: block; /* 对应你需要的显示类型 */
  }
}

CSS的层叠规则是“同一优先级下,后面的样式覆盖前面的”,所以把媒体查询的显示规则放在全局隐藏规则后面,才能让大屏幕时的显示生效。

额外检查点

  • 确认媒体查询的断点是否准确:比如是不是应该用min-width:900px还是min-width:901px,根据你的需求调整
  • 如果这个div的父元素有其他样式影响,可以给选择器加个父级前缀(比如.container #eight)来提高优先级,确保样式生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:00:28