我在做一个响应式布局,给移动端写了媒体查询,但手机访问时样式完全没变化。我检查过代码,桌面端缩小窗口到768px以下是可以触发的。尝试过清除浏览器缓存也不行,是不是哪里写错了?
代码是这样的:
@media screen and (max-width: 768px) {
.container {
flex-direction: column;
padding: 20px;
}
}
用开发者工具模拟移动端能正常生效,但真机测试就失效了,连控制台也没报错。是不是移动端需要加meta标签?或者单位用错了?
那手机访问的时候,页面其实是在一个“虚拟视口”里渲染,不会按真实屏幕宽度去匹配媒体查询。桌面浏览器缩放窗口是能触发,但真机上就不对了。
加完这个 meta 标签再测,应该就能生效了。另外提醒一句,有时候手机浏览器缩放状态、UA 判断、甚至第三方插件也会影响表现,建议用原生浏览器测,排除干扰。
meta标签,移动端浏览器需要它来正确识别视口。在里加这个:加完应该就没问题了,真机再测下。