移动端响应式页面开发说简单也简单,根据屏幕尺寸调节根字体大小。javascript
大宽度用%,高度和小宽度所有使用rem,简单粗暴。css
以前阅读过大漠老师的使用Flexible实现手淘H5页面的终端适配,介绍了手淘项目的H5制做规范。
html
在手淘的设计师和前端开发协做过程当中:手淘设计师常选择iPhone6做为基准设计尺寸,交付给前端的设计尺寸是按750px * 1334px为准(高度会随着内容多少而改变)。前端开发人员经过一套适配规则自动适配到其余的尺寸。前端
而我此次负责的项目为公司刚上线的手游内置网页,展现游戏公告和游戏角色信息。html5
由于手游是横屏的,因此设计稿也有了些改变。内容尽量集中在横向,减小用户上下滑动的次数。因此设计师按照960px出的稿。java
html{font-size:100px;}
$(document).ready(function() { // put all your jQuery goodness in here. function adjust(){ // 设计稿宽度是960px var scale = $('body').width() / 960; $('html').css('font-size', 100 * scale + 'px'); } // 进入、刷新页面时执行函数,调整根字体 adjust(); //视口大小调整时执行函数,调整根字体 // 目测游戏内置页面用不到,用户不会产生resize事件 $(window).resize(function(){ adjust(); }); });
由于javascript代码是最后加载的,因此打开页面后会有短暂布局混乱现象,以后js代码才生效。函数
为了解决这个问题,须要在页面加载完成以前就运行这段js代码。因此须要把这段代码放到<head></head>
里。要注意的是这时jq插件还没加载,因此要用原生的写法。布局
<script> function adjust(){ // 设计稿宽度是960px var $html = document.getElementsByTagName('html')[0]; var viewh = document.documentElement.clientWidth; var scale = viewh / 960; $html.style.fontSize = 100 * scale + 'px'; alert("test"); } // 进入、刷新页面时执行函数,调整根字体 window.onload=adjust(); </script>
能够测试一下,当页面没有任何内容的时候就会弹出“test”。测试
OVER!字体