rem的主要目的就是解决用于不同屏幕的适配问题。rem能够等比例的适配所有的屏幕。
由于市面上手机种类繁多,导致移动端的屏幕种类非常的混乱,比如有常见的320px 360px 375px 384px 480px 640px等。在开发中,美工一般只会提供750px或者是640px的设计稿,这就要求我们通过一张设计稿能够适配所有的屏幕。通常解决方案如下:
流式布局:虽然可以让各种屏幕都适配,但是显示效果不是非常的友好,因为只有几个尺寸的手机能够完美的显示出来视觉设计师和交互最想要的效果。但是目前使用流式布局的公司非常多,比如 亚马逊 、京东 、携程响应式布局:响应式这种方式在国内很少有大型企业的复杂性的网站在移动端用这种方法去做,主要原因是工作大,维护性难 。所以一般都是中小型的门户或者博客类站点会采用响应式的方法从PC端页面到移动端页面以及web app直接一步到位,因为这样反而可以节约成本。rem布局:rem能够适配所有的屏幕,与less配合使用效果会更好。目前使用rem布局的有:淘宝 、 苏宁rem配合媒体查询能够实现不同屏幕页面的宽高自适应推荐一个rem的vscode编辑器插件:px2rem ,能够将单位px自动转化为rem /* @media screen and (条件){ html{ font-siz:值px } } */ /* 实现rem的适配 设计图是 750 需要适配的设备:750 720 540 480 424 414 400 384 375 360 320 定义函数 */ @media screen and (min-width:320px){ html{ font-size: 21.33333px/* 320/50 */ } } @media screen and (min-width:360px){ html{ font-size: 24px/* 360/50 */ } } @media screen and (min-width:384px){ html{ font-size: 25.6px/* 384/50 */ } } @media screen and (min-width:400px){ html{ font-size: 26.6666px/* 400/50 */ } } @media screen and (min-width:424px){ html{ font-size: 28.26666px/* 4240/50 */ } } @media screen and (min-width:480px){ html{ font-size: 32px/* 480/50 */ } } @media screen and (min-width:540px){ html{ font-size: 36px/* 540/50 */ } } @media screen and (min-width:720px){ html{ font-size: 48px/* 720/50 */ } } @media screen and (min-width:750px){ html{ font-size: 50px } }