设置了meta viewport后移动端布局还是不正常怎么办?
我在给网页加响应式适配时,按教程写了<meta name="viewport" content="width=device-width, initial-scale=1">,但手机访问时页面依然横向滚动,内容还被压缩变形,这是怎么回事?
已经检查过标签确实在head标签里,也尝试过加了user-scalable=no参数,但问题依旧。奇怪的是在Chrome开发者工具手机模拟器里显示正常,真实设备却有问题…
这是我的完整head部分:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css" rel="external nofollow" >
<title>我的页面</title>
</head>
同时发现当把body的max-width:1200px改成100%后横向滚动消失,但文字排版又变得很挤…
试试这样改你的CSS:
还有记得检查下有没有其他元素宽度超出了body,特别是图片和表格,强制给它们加上max-width:100%。
第一,检查你的
style.css里有没有固定宽度的设置。比如有些样式写了width: 1200px这种绝对值,导致内容超出了屏幕宽度。你可以试试加这段代码到样式表里:第二,可能是某些图片或者嵌入元素(比如iframe)的宽度超过了屏幕。给图片加个限制:
至于你提到的 Chrome 模拟器和真实设备不一样,这是因为模拟器有时候不会完全还原真实的渲染情况,特别是在缩放和 DPI 上。
最后说下为什么改成
max-width: 100%文字会挤:因为原本的宽度限制没了,但字体大小和间距没调整。可以在小屏下用@media调整一下字体大小。试试这些方法,基本就搞定了。要是还有问题,估计得具体看你的 CSS 文件了。