如果font-size小于16px,浏览器将自动放大,然而,元素的默认font-size是11px(至少在chrome和safari).所以设置元素的样式至少为16px就不会产生放大效果。另,select元素必须附加focus伪类:
input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
select:focus,
textarea {
font-size: 16px;
}
可选的解决方案就是令元素继承父元素的样式:
body{
font-size:16px;
}
input[type="text"]{
font-size:inherit;
}
或者设置meta tag 为: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
只需添加maximum-scale = 1,但忽略其他答案中建议的用户比例属性, user-scalable=0。因为禁止用户缩放是个坏主意。用户可以自由缩放是一项基本的辅助功能,不能剥夺用户这一权利。