html手机端最小px,移动端rem小于12px文字-webkit-text-size-adjust

昨天做项目,遇到一个神奇的css问题,也是我做前端为止遇到的最花我时间的一个问题,整整找了一下午这个bug,先说说问题。大家在做移动端开发H5页面时候,设计图通常是750px宽,然后通过rem转换我们在苹果6尺寸下1rem=50px,假设这时候设计图文字是24px,那么就是0.24rem,设计图两倍实际相当于12px。如果超过这个值,某些手机浏览器就会强制用14px(浏览器文字默认值)渲染。

那么问题来了,在设计时候,很多UI设计图会有低于28px文字,这时候在手机端就会发现以下情况,如下截图文字是基于0.28rem设置,在QQ内置浏览器打开,苹果5这类小屏幕手机就出现问题了,因为苹果5的rem不是基于html文字50px计算,而是42px左右

dfbb202a4319b1a4e06f0dc53fd11fa0.png

R6HN2EN0QUEW1388I.jpg

很显然,文字并没有受控制,被浏览器默认放大。但这种情况情况很奇怪,因为在上面文字也有是0.24rem,但却能正常渲染小字号,在最下面两行文字却出现了浏览器兼容问题,直接设置12px也能渲染出来,但很显然移动端我不能这么写,解决办法就是在此加上一个css,-webkit-text-size-adjust:none,结果如下:

a71aab52e901237635118331453227f8.png

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

分享到:

打赏

谢谢你请我吃鸡腿*^_^*

支付宝扫一扫打赏

微信扫一扫打赏

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
移动端进行REM适配可以使用PostCSS插件postcss-pxtorem来自动转换像素单位为REM单位。面是配置postcss-pxtorem的骤: 1. 首先,确保你已在项目中安装了postcss和postcsspxtorem插件。 2. 在项目根目录下创建一个postcss.config.js文件,并在该文件中进行配置。 ```javascript module.exports = { plugins: { 'postcss-pxtorem': { rootValue: 16, // 根据设计稿的实际尺寸设置 unitPrecision: 5, // 转换后的REM值保留的小数位数 propList: ['*'], // 需要转换的CSS属性,默认为全部 selectorBlackList: [], // 需要忽略的CSS选择器,例如['.ignore'],可以使用正则表达式 replace: true, // 是否替换原有的CSS规则 mediaQuery: false, // 是否将媒体查询中的像素单位也转换为REM单位 minPixelValue: 0 // 小于该数值的像素单位不转换 } } } ``` 上述配置中,rootValue代表根元素(html)的字体大小,一般与设计稿的实际尺寸对应。unitPrecision用于设置转换后的REM值保留的小数位数。propList是一个数组,用于指定需要转换的CSS属性,默认为全部。selectorBlackList用于指定需要忽略的CSS选择器,可以使用正则表达式。replace用于设置是否替换原有的CSS规则。mediaQuery用于指定是否将媒体查询中的像素单位也转换为REM单位。minPixelValue用于设置小于该数值的像素单位不转换。 3. 在项目的postcss.config.js文件中添加配置后,你可以在构建工具(例如Webpack)的配置文件中使用postcss-loader加载并应用PostCSS插件。 ```javascript module.exports = { // ... module: { rules: [ // ... { test: /\.css$/, use: ['style-loader', 'css-loader', 'postcss-loader'] }, // ... ] } // ... } ``` 以上配置中,使用了style-loader、css-loader和postcss-loader来处理CSS文件。具体的配置方式可能会因你所使用的构建工具而有所不同,请根据实际情况进行相应的调整。 总之,通过配置postcss-pxtorem插件,你可以实现移动端REM适配,使得页面在不同设备上展示更加统一和适配。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值