写移动端项目时,总是会纠结是用css3 media query 还是用rem。移动端框架挺多,但是因为项目都比较小,不考虑使用。

无意在网上找到一个移动端rem布局的解决方案,经个人实践,目前未出现什么大问题,收藏备用。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>移动端rem布局</title><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" /><style>.test{width: 1rem;height: 1rem;background-color: #fa5275;}</style>
</head>
<body><div class="test"></div><p>设置前html的fontsize:16px;</p><p>设置前html的fontsize:16px;</p><script>function adapt(designWidth, rem2px){var d = window.document.createElement('div');d.style.width = '1rem';d.style.display = "none";var head = window.document.getElementsByTagName('head')[0];head.appendChild(d);var defaultFontSize = parseFloat(window.getComputedStyle(d, null).getPropertyValue('width'));d.remove();document.documentElement.style.fontSize = window.innerWidth / designWidth * rem2px / defaultFontSize * 100 + '%';var st = document.createElement('style');var portrait = "@media screen and (min-width: "+window.innerWidth+"px) {html{font-size:"+ ((window.innerWidth/(designWidth/rem2px)/defaultFontSize)*100) +"%;}}";var landscape = "@media screen and (min-width: "+window.innerHeight+"px) {html{font-size:"+ ((window.innerHeight/(designWidth/rem2px)/defaultFontSize)*100) +"%;}}"
            st.innerHTML = portrait + landscape;head.appendChild(st);return defaultFontSize;}var defaultFontSize = adapt(640, 100);</script>
</body>
</html>

转载于:https://www.cnblogs.com/sapho/p/6184146.html

个人收藏的移动端网页布局rem解决方案相关推荐

  1. 移动端网页布局中需要注意事项以及解决方法总结

    移动端网页布局中需要注意事项以及解决方法总结,这份对我们在布局移动端网页的时候非常有用! winphone系统a.input标签被点击时产生的半透明灰色背景怎么去掉 <meta name=&qu ...

  2. 移动端网页布局(携程网)

    移动端网页布局(携程网) HTML部分 <!DOCTYPE html> <html lang="en"><head><meta chars ...

  3. Web移动端Fixed布局的解决方案

    Web移动端Fixed布局的解决方案 参考文章: (1)Web移动端Fixed布局的解决方案 (2)https://www.cnblogs.com/sxgxiaoge/p/9257648.html 备 ...

  4. 【移动端网页布局】移动端网页布局基础概念 ⑧ ( 移动端页面布局方案 | 单独制作的移动端页面 - 主流 | 响应式页面兼容移动端 - 开发难度较大 )

    文章目录 一.移动端页面布局方案 1.单独制作的移动端页面 2.响应式页面兼容移动端 一.移动端页面布局方案 移动端页面方案 : 单独制作的移动端页面 : 主流开发方案 , PC 端 与 移动端 访问 ...

  5. 【移动端网页布局】移动端网页布局基础概念 ② ( 视口 | 布局视口 | 视觉视口 | 理想视口 )

    文章目录 一.视口 1.布局视口 ( 网页大小 | 网页大小 > 设备大小 ) 2.视觉视口 ( 设备大小 | 网页大小 > 设备大小 ) 3.理想视口 ( 网页大小 = 设备大小 ) 一 ...

  6. 【移动端网页布局】移动端网页布局基础概念 ① ( 移动端浏览器 | 移动端屏幕分辨率 | 移动端网页调试方法 )

    文章目录 一.移动端浏览器 二.移动端屏幕分辨率 三.移动端网页调试方法 一.移动端浏览器 移动端浏览器 比 PC 端浏览器发展要晚 , 使用的技术比较新 , 对 HTML5 + CSS3 支持较好 ...

  7. 【移动端网页布局】流式布局案例 ④ ( Banner 栏制作 | 固定定位 | 标准流 | 百分比宽度设置 )

    文章目录 一.Banner 栏样式及核心要点 1.实现效果 2.核心要点分析 二.完整代码示例 1.HTML 标签结构 2.CSS 样式 3.展示效果 一.Banner 栏样式及核心要点 1.实现效果 ...

  8. 【移动端网页布局】移动端网页布局基础概念 ⑤ ( 视网膜屏技术 | 二倍图概念 | 代码示例 )

    文章目录 一.视网膜屏技术 二.二倍图概念 三.代码示例 一.视网膜屏技术 PC 端 和 早期的 移动端 网页中 , CSS 中配置的 1 像素 对应的就是物理屏幕中的 1 像素 ; Retina 视 ...

  9. rem适配的浏览器_移动端网页布局适配rem方案小结

    前言 根据 W3C 规范中对 1rem 的定义: 1rem 与等于根元素 font-size 的计算值.当明确规定根元素的 font-size 时,rem 单位以该属性的初始值作参照. 这就意味着 1 ...

  10. PC端网页布局——世纪佳缘(二)页面初搭建

    咱们首先来搭建一下整体的大结构: 效果如下: 每一块呢,都是使用div块做的,并不难理解 除了头部之外,每一块都是外面一个大的div,里面再包一个小的div,也就是所谓的通栏和版心(由于个人问题,版心 ...

最新文章

  1. python加载图片的方法_python从网络读取图片并直接进行处理的方法
  2. 如何解读决策树和随机森林的内部工作机制?
  3. Android+Jquery Mobile学习系列(8)-保单/生日提醒功能
  4. 删除oracle补丁包,最新Oracle关键补丁:更新包括248个修复
  5. vs2013使用remote debug
  6. Linux环境下配置虚拟ip,方法1:新增多个子网卡,每个子网卡有独立的配置文件
  7. Linux下载安装NodeJS
  8. iPhone 13 投屏到 Windows 10 的办法
  9. BUUCTF-神秘龙卷风
  10. 微服务守护神-Sentinel-降级规则
  11. WIN10-NVME硬盘-无U盘安装-Ubuntu22.04-双系统(非虚拟机)
  12. 智能PID软件-AVEVA Diagrams报表功能介绍【图瓦软件出品】
  13. 如何处理u盘一插进电脑就自动打开里面的所有文件夹
  14. 如何读群晖硬盘_如何优雅无损的更换群晖硬盘
  15. C++实现暴力筛、朴素素数筛、埃氏素数筛、欧拉素数筛的解法
  16. IPSEC VPN相关问题
  17. 苹果笔记本恢复服务器上的安装信息已被破坏,Mac电脑如何恢复删除或已损坏无法打开的Word文件?...
  18. oracle收集统计信息之analyze
  19. No data type for node: org.hibernate.hql.ast.tree.IdentNode问题的解决
  20. 未来 5 年的 5 大技术趋势

热门文章

  1. 深度学习常见的基本概念整理
  2. Caffe官方例程之 特征可视化python代码 (filter visualization notebook)
  3. 基础知识(四)C++常用函数.txt
  4. python实现前向匹配中查找最大长度的最高重复模式的子字符串
  5. Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2”
  6. python爬虫 同花顺_python 爬虫--同花顺-使用代理
  7. 可视化大屏设计尺寸_大屏数据可视化设计规律
  8. php$.ajax(),使用PHP的jQuery $.ajax()
  9. HyperLeger Composer 重启 | 进入play ground | 进入 couchdb
  10. centos8 挂载ntfs_Centos 挂载Ntfs分区