rem结合css3原生函数, 完成手机端各类屏幕适配
相信很多人接触的第一个网页尺寸单位是px, 表示一个像素点的大小
我们收到的设计师的设计稿也是以px为标准
但手机的屏幕是大小不一的, 在iPhone8上展现的很好的效果, 在iPhone5s上可能就完全走了样, 为了在不同尺寸的屏幕上,都有很好的展现效果, 我们需要对网页进行缩放
rem是一个很有意思的单位, 1rem的尺寸等于html的font-size
的尺寸, 也就是
html{ font-size: 100px;}
那么, 1rem就等于100px
我们可以通过屏幕的宽度, 动态改变 html下font-size的大小, 从而实现网页的缩放
calc是一个css3自带的函数, 可以实现简单的加减乘除(可以用来取代sass的部分功能)
rem与calc结合使用, 即可以用极简单的代码实现,多种屏幕的适配
效果如图所示
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>如何使用rem</title> <script> // 获取设施像素比(dpr -> devicePixelRatio) var dpr = window.devicePixelRatio; // 动态设置设施缩放比 var metaTag=document.createElement('meta'); metaTag.name = "viewport" metaTag.setAttribute('content', 'initial-scale=' + 1/dpr + ', maximum-scale=' + 1/dpr + ', minimum-scale=' + 1/dpr + ', user-scalable=no'); document.getElementsByTagName('head')[0].appendChild(metaTag); </script> <script> // 动态设置html的字体大小(页面宽度为1rem) document.addEventListener('DOMContentLoaded', function(e) { document.getElementsByTagName('html')[0].style.fontSize = window.innerWidth + 'px'; }, false); </script></head><body> <style> body{ text-align: center; margin: 0; padding: 0; line-height: 0; } table{ width: 100%; } .icon{ width: calc(196rem / 375); margin: calc(100rem / 375) 0 0 0; } .name{ margin: calc(30rem / 375) 0 0 0; font-size: calc(30rem / 375); line-height: calc(30rem / 375); color: #64B587; } </style> <table> <tbody> <tr><td><img src="girl.png" class="icon"></img></td></tr> <tr><td><p class="name">Yara Barros</p></td></tr> </tbody> </table> </body></html>
小结:
rem是一个动态定义的单位, 结合css3自带的calc函数, 能让我们写一套代码, 轻松适配各种尺寸的屏幕, 另外, 写calc函数的时候, 运算符前后肯定要留空格哦~
上一篇 目录 已是最后
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » rem结合css3原生函数, 完成手机端各类屏幕适配
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » rem结合css3原生函数, 完成手机端各类屏幕适配