利用CSS实现rem适配

原文地址:https://www.toutiao.com/i6773562707711885832
方案一:使用meta标签
在html的head中插入下面的meta标签:

<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=375, user-scalable=no">

没错,是两个viewport标签。width=device-width写在上面,width=375写在下面,375就是以哪个设备宽度为基准,现在大部分设计稿都是以iphone6的375宽度为基准做2倍图。加了上面两个mata标签,后面的css就可以完全使用px为单位直接使用,整个页面会自动按设备宽度进行等比例缩放。

方案二:使用css的calc计算属性

在css中定义html的font-size为:calc(100vw/3.75),calc、vw能兼容ios8+和android4.4+,可放心使用,如下:

html {
  font-size: calc(100vw/3.75);
  -webkit-text-size-adjust: 100%;
}

然后在css中,就可以将所有的px单位除以100,得到rem单位了。比如:

.row>div {
  float: left;
  width: .82rem;
  height: .82rem;
  text-align: center;
  line-height: .82rem;
  margin-left: .05rem;
  background-color: #f0f0f0;
}

上面的rem单位转换,建议大家可以使用px2rem这个插件完成,webpack、vscode都能支持。设置时将rootFontSize 设为100即可。
在这里插入图片描述
在vscode中,可以使用ctrl+shift+p,选择px2rem就可以将当前页面的px全部转换为rem。
在这里插入图片描述
当然,rem和px可以相互共存,比如我标题栏就想要44px高,这样就不会缩放了。

总结:两种方案如何选择
方案一,直接使用html的mata实现整个页面的缩放,比较适合那些宣传单页或全屏游戏交互类,无法实现px与rem共存的情况。

方案二(推荐),利用了rem来缩放,可实现与px共存,在借助px2rem的情况下,能高效方便的实现适配。

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
postcss-pxtorem是一个PostCSS插件,用于将素单位(px)转换为rem单位,以实现移动端适配。它可以帮助开发者根据设计稿的尺寸自动将像素单位转换为rem单位,并且可以根据不同的屏幕尺寸进行适配。 使用postcss-pxtorem适配平板的步骤如下: 1. 首先,安装postcss-pxtorem插件。可以使用npm或者yarn进行安装: ``` npm install postcss-pxtorem --save-dev ``` 或者 ``` yarn add postcss-pxtorem --dev ``` 2. 在项目的根目录下创建一个postcss.config.js文件,并配置postcss-pxtorem插件。示例配置如下: ```javascript module.exports = { plugins: { 'postcss-pxtorem': { rootValue: 16, // 设计稿宽度除以10,例如设计稿宽度为375px,则rootValue为37.5 propList: ['*'], // 需要转换的属性,这里设置为全部 selectorBlackList: [], // 需要忽略的选择器,可以使用正则表达式 }, }, }; ``` 3. 在项目的构建工具中配置使用postcss-pxtorem插件。具体配置方式根据不同的构建工具而定,例如在webpack中的配置如下: ```javascript module.exports = { // ... module: { rules: [ { test: /\.css$/, use: [ 'style-loader', 'css-loader', { loader: 'postcss-loader', options: { postcssOptions: { config: 'postcss.config.js', }, }, }, ], }, ], }, // ... }; ``` 4. 在项目中使用rem单位进行样式编写。postcss-pxtorem插件会自动将像素单位转换为rem单位,根据不同的屏幕尺寸进行适配。 这样,使用postcss-pxtorem插件后,可以方便地进行平板适配,使得页面在不同的屏幕尺寸下显示一致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值