CSS媒体查询min-width和max-width区间规则不生效问题
问题原因
你的媒体查询代码存在两个核心错误,导致规则完全不生效:
- 区间判断逻辑矛盾:
min-width表示触发规则的最小视口宽度,max-width表示触发规则的最大视口宽度,你写的(min-width: 1202px) and (max-width: 993px)要求视口宽度同时满足「大于等于1202px」和「小于等于993px」,不存在能匹配这个条件的视口尺寸,因此这条规则永远不会被触发。 - 规则逻辑和需求反向:你的需求是元素仅在993px~1202px区间显示,但你写的规则是在匹配的区间内给元素加
display: none,就算区间写对,效果也和需求完全相反;再加上你没有给.myio设置默认样式,元素默认是显示状态,本来就不符合「仅指定区间显示」的要求。
修正方案
直接替换原有相关CSS代码为以下内容即可:
/* 所有宽度下默认隐藏该元素 */ .myio { display: none; } /* 视口宽度落在993px-1202px区间时,显示元素 */ @media (min-width: 993px) and (max-width: 1202px) { .myio { display: block; } }
小提示:如果临界宽度(比如992px、1203px)下出现样式跳动,可以根据实际测试把边界值调整1-2px适配。
内容的提问来源于stack exchange,提问作者real sport
相关产品推荐
相关产品推荐

