最常用且可靠的方式是结合 display: none 与 @media 媒体查询实现子元素隐藏,先设默认显示样式,再在指定断点(如 max-width: 480px)中覆盖为 display: none,并注意选择器精度、优先级及语义化需求。
子元素在响应式布局中需要隐藏,最常用且可靠的方式就是结合 display: none 与 CSS 媒体

@media)来实现。关键在于:先写默认样式(比如桌面端显示),再在媒体查询中针对特定断点覆盖为 display: none。
先确认你要隐藏的是哪个子元素(比如 .sidebar、.ad-banner 或某个 span),再决定在什么屏幕宽度下隐藏它。常见断点有:
max-width: 768px(平板竖屏及以下)max-width: 480px(手机竖屏)min-width 反向控制(如只在大屏显示)假设要隐藏类名为 .extra-info 的子元素,在手机端不显示:
.extra-info {
display: block; /* 默认显示(可省略,因div等默认就是block) */
}
@media (max-width: 480px) {
.extra-info {
display: none;
}
}
注意:选择器要能精准命中目标子元素。如果它是某个容器的直接子元素,可用 .container > .extra-info 避免误伤。
隐藏失效?可能是这些原因:
!important 或更具体的选择器)覆盖了你的 display: none,可适当提高选择器权重或加 !important(慎用)display: flex 或 grid,子元素设 display: none 依然有效,但要注意某些旧版 Flexbox 在 IE 中可能有兼容问题不只是“隐藏”,有时需配合其他行为增强体验:
display: none 已做到)opacity: 0; visibility: hidden; + transition,再配合 JS 触发类名切换(display: none 本身不能过渡,需组合使用)display: none 会完全忽略该元素,如内容仍需被读取,改用 visibility: hidden 或 aria-hidden="true" 并保留布局空间