如何使用rem,为什么rem不生效?

rem是现在手机端用的比较普遍的单位,我最近也在用这个做一个手机站,在使用过程发现单纯的css并不能实现字体随屏幕放大缩小的效果,后来各种索搜,找到了解决方法
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<script>
(function(){
    function w() {
    var r = document.documentElement;
    var a = r.getBoundingClientRect().width;//获取当前设备的宽度
        if (a > 720 ){//720不固定,根据设计稿的宽度定
            a = 720;
        } 
        rem = a / 7.2;
        r.style.fontSize = rem + "px"
    }
    w();
    window.addEventListener("resize", function() {//监听横竖屏切换
        w()
    }, false);
})();
</script>
<style>
    p{font-size: 0.3rem}
</style>
<body>
<p>测试。。。。。测试。。。。。测试。。。。。测试。。。。。测试。。。。。</p>
</body>
</html>

我们只需加上上面代码中的那段js就可以了,然后我们写css只需要把对应的值除以100,单位改成rem即可

注意:1、这段js最好放到页面的body上面,让他第一时间加载,防止网速慢而导致屏幕闪烁问题

2、当写一像素边框时,最好还是使用1px来写,因为在部分手机上0.01rem不显示

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好!对于postcss-pxtorem插件的配置问题,有几个常见的原因可能导致它不生效。以下是一些常见的排查步骤和可能的解决方案: 1. 确保已经正确安装了postcss-pxtorem插件。可以通过在项目根目录下的终端运行以下命令来安装它: ``` npm install postcss-pxtorem --save-dev ``` 2. 检查是否已经正确配置了postcss-pxtorem插件。在项目的根目录下找到postcss.config.js文件(如果不存在,则需要创建一个),并确保已经按照以下方式进行了配置: ```javascript module.exports = { plugins: [ require('postcss-pxtorem')({ rootValue: 16, // 基准值,根据设计稿来设定 propList: ['*'], // 需要转换成rem的属性 }), ], }; ``` 请注意,上述代码中的rootValue和propList属性值可能需要根据你的具体需求进行调整。 3. 检查是否已经正确配置了postcss-loader。在webpack配置文件中,确保已经将postcss-loader添加到了CSS处理的loader链中,并且设置了正确的postcss.config.js文件路径。例如: ```javascript module.exports = { module: { rules: [ { test: /\.css$/, use: [ 'style-loader', 'css-loader', 'postcss-loader', // 确保已添加了postcss-loader ], }, ], }, }; ``` 4. 确保你的样式文件中使用了正确的单位。postcss-pxtorem插件会将像素单位转换为rem单位,所以在样式文件中使用像素单位(如px)才能触发转换。例如: ```css .my-class { font-size: 16px; margin: 10px; } ``` 如果你的样式中使用了其他单位(如em、vh等),插件可能不会对其进行转换。 请尝试按照上述步骤检查和调整配置,看是否能解决postcss-pxtorem配置不生效的问题。如果问题仍然存在,请提供更多的详细信息,我将尽力帮助你解决。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值