移动端的rem屏幕适配css文件 于蓝湖配合使用 pc端和移动端的适配,写两套css

 1.375px宽度设计稿对应22px=1rem

设置蓝湖的自定义css rem 点击确定就可以直接看到计算好的rem值。非常方便

效果:

@media only screen and (min-width: 320px) {
    html {
        font-size: 18.773px !important
    }
}
@media only screen and (min-width: 340px) {
    html {
        font-size: 20px !important
    }
}
@media only screen and (min-width: 360px) {
    html {
        font-size: 21px !important
    }
}

@media only screen and (min-width: 375px) {
    html {
        font-size: 22px !important
    }
}

/*@media only screen and (min-width: 376px) {
    html {
        font-size: 23px !important
    }
}*/

@media only screen and (min-width: 414px) {
    html {
        font-size: 24.288px !important
    }
}

@media only screen and (min-width: 641px) {
    html {
        font-size: 37.6px !important}
}
@media only screen and (min-width: 750px) {
    html {
        font-size: 44px !important}
}
@media only screen and (min-width: 800px) {
    html {
        font-size: 45px !important}
}

字体使用rem适配

 

2.图标清晰度


@media screen and (-webkit-min-device-pixel-ratio: 2) {
    .border {
        background:url(xxxxx@2x.png)
    }
}

@media screen and (-webkit-min-device-pixel-ratio: 3) {
    .border {
         background:url(xxxxx@3x.png)
    }
}

css代码可以检测2倍屏和三倍屏,不同屏幕对应不同的图标,实现适配多倍屏幕清晰度

 

3.宽度可以使用百分比宽度width:80%

 

4.高度可以使用视口高度80vh,占屏幕高度80%。

实现屏幕适配。

5.检测屏幕

 <script>
        /**
         * 判断是否是pc设备
         */
        function IsPC() {
            var userAgentInfo = navigator.userAgent;
            var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
            var flag = true;
            for (var v = 0; v < Agents.length; v++) {
                if (userAgentInfo.indexOf(Agents[v]) > 0) {
                    flag = false;
                    break;
                }
            }
            return flag;
        }
        if(IsPC()){
            console.log("pc端");
            //写pc端js代码
            var head = document.head || document.getElementsByTagName('head')[0];
            head += '<link rel="stylesheet" href="css/pcIndex.css" />';
            document.getElementsByTagName('head')[0].innerHTML += head;
        }else{
            console.log("移动端");
            var head = document.head || document.getElementsByTagName('head')[0];
            head += '<link rel="stylesheet" href="css/mobileIndex.css" />';
            document.getElementsByTagName('head')[0].innerHTML += head;
        }

    </script>

6.移动端html设置font-size: 13.33vw的传说,

依然写的都是13.33vw,那这个13.33是怎么来的呢?

    如果你了解设计稿你就懂了,其实很简单:
首先要先说明:移动端的设计稿一般是width:750px,height:auto(这里指的是不确定),100vw = 100%,这个也没有问题吧;那么,设计稿拿过来,我们可以得出:750px = 100vw,这个也没有问题吧,那么1px等于多少vw呢? 是不是 1px = 100 / 750 vw = 0.13333vw;那么100px = 多少vw呢,这个应该知道了吧。100px = 13.33vw;

思路过程:

mobile.width = 750px  => 750px = 100% =100vw => 750px = 100vw => 1px = 0.1333vw => 100px = 13.33vw => 1rem =100px;

即:我们把html:{font-size: 13.33vw} // 也就是以100px位基准;1rem = 100px;

现在就好算多了;移动端的尺寸 / 100  =  XXX rem;
————————————————
版权声明:本文为CSDN博主「chi1130」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chi1130/article/details/82844489

 

7.

大于750宽度的屏幕,字体图片不会再放大。小于750,大小随宽度改变而改变

window.onload = function(){    
getRem(750,100)
};
window.onresize = function(){    
getRem(750,100)
};
function getRem(pwidth,prem){
    var html = document.getElementsByTagName("html")[0];
         var oWidth = document.body.clientWidth || document.documentElement.clientWidth;
    if(oWidth>=750){
        html.style.fontSize = "100px";
    }else{
        html.style.fontSize = oWidth/pwidth*prem + "px";
    }
             }

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值