手机页面设计一般的大小是640,但是,手机屏幕大小确实不确定的,这样,怎么才能做出适应所有手机的手机页面呢?
一般的解决方案有两种,rem布局和百分比布局。这两种方案我有都试过,所以现在更推荐用rem布局来制作手机页面;
rem布局的兼容性:
Mozilla Firefox 3.6+、Apple Safari 5+、Google Chrome、IE9+和Opera11+、ie6-ie8 还是别用rem
不过现在的手机一般浏览器,一般可以直接不用去管IE内核的浏览器了。
REM的计算公式
例:html 设置font-size:16px 1rem = 16px
那么640px = 640/16 =40rem
个人建议设置为100px 方便计算
首先,给页面的html定义一个100px的
html{ font-size:100px;}/*设定基础rem*/
然后,最核心的代码就是这一段js运算了,根据页面的大小来控制基础rem的值;
new function (){
var _self = this;
_self.width = 640;//设置默认最大宽度
_self.fontSize = 100;//默认字体大小
_self.widthProportion = function(){var p = (document.body&&document.body.clientWidthdocument.getElementsByTagName("html")[0].offsetWidth)/_self.width;return p>1?1:p<0.5?0.5:p;};
_self.changePage = function(){
document.getElementsByTagName("html")[0].setAttribute("style","font-size:"+_self.widthProportion()*_self.fontSize+"px !important");
}
_self.changePage();
window.addEventListener("resize",function(){_self.changePage();},false);
};
demo
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0"> <meta charset="utf-8"> <title>rem基础布局</title> <script type="text/javascript"> new function (){ var _self = this; _self.width = 640;//设置默认最大宽度 _self.fontSize = 100;//默认字体大小 _self.widthProportion = function(){var p = (document.body&&document.body.clientWidthdocument.getElementsByTagName("html")[0].offsetWidth)/_self.width;return p>1?1:p<0.5?0.5:p;}; _self.changePage = function(){ document.getElementsByTagName("html")[0].setAttribute("style","font-size:"+_self.widthProportion()*_self.fontSize+"px !important"); } _self.changePage(); window.addEventListener("resize",function(){_self.changePage();},false); }; </script> <style type="text/css"> /*=== base style===*/ *{margin: 0px; padding: 0px;} ul{list-style: none;} .wrap{min-width: 320px; max-width: 640px; width: 100%; margin: 0px auto;; background: #2a6ace; font-family:"微软雅黑", "helvetica neue",tahoma,"hiragino sans gb",stheiti,"wenquanyi micro hei",\5FAE\8F6F\96C5\9ED1,\5B8B\4F53,sans-serif; font-size: 12px;}/*适用于手机端:字体大小用em,1em=16px;为默认字体大小;最大宽度640*/ .pro{width:6.2rem; margin: 0px auto; padding-top: 20px; overflow: hidden;} .clearfix:after {content:"";height:0;display:block;clear:both;} .clearfix {zoom:1;} .pro ul{width:6.4rem;} .pro li{width: 3rem; height: 3.6rem; float: left; margin: 0 0.2rem 0.2rem 0;} .pro li .box{width: 3rem; height: 3rem; background: #ccc;} .pro li p{font-size: 0.24rem; line-height: 0.6rem; text-align: center;} </style> </head> <body> <div class="wrap"> <div class="pro"> <ul class="clearfix"> <li> <div class="box"></div> <p>区块文案</p> </li> <li> <div class="box"></div> <p>区块文案</p> </li> <li> <div class="box"></div> <p>区块文案</p> </li> <li> <div class="box"></div> <p>区块文案</p> </li> <li> <div class="box"></div> <p>区块文案</p> </li> </ul> </div> </div> </body> </html> 分享是一种美德,尊重原创也是美德。http://www.alixixi.com/web/a/2015031794526.shtml
相关推荐
苏宁移动端的仿写项目采用REM布局,旨在模拟苏宁官网在手机和平板等小屏幕设备上的用户体验。 REM单位是相对于根元素(通常是`html`元素)的字体大小的单位,而不是相对于父元素。通过改变根元素的字体大小,可以...
在移动Web开发中,"rem布局"是一种常用的响应式布局技术,它可以帮助开发者实现不同屏幕尺寸下的页面自适应。在这个“rem布局案例”中,我们看到开发者采用了Less预处理器和rem单位来创建一个模仿京东手机端界面的...
### 手机端页面rem宽度自适应脚本详解 #### 一、引言 随着移动互联网的迅速发展,用户越来越倾向于使用手机等移动设备访问网页。为了确保网站能够在不同尺寸的屏幕上良好显示,开发者们需要采取不同的技术手段来...
在前端开发领域,"flexible+rem布局"是一种常见的响应式设计方法,它结合了Flexbox布局模型(Flexible Box)和相对单位rem(root em),用于实现不同屏幕尺寸下的自适应界面。这两种技术的结合使得网页能够更好地...
CSS部分,rem布局的关键在于设置一个基于屏幕宽度的基础字体大小,并根据这个基础值来设定元素的宽高和其他尺寸。例如: ```css html { font-size: 16px; /* 初始化基础字体大小 */ } @media (min-width: 320px) ...
使用`rem`单位进行布局的优势在于,通过调整根元素的字体大小,可以实现整个页面的比例缩放,从而达到跨设备适配的效果。在移动设备上,这尤其重要,因为不同设备的屏幕尺寸和分辨率差异较大。通过适当地设置`html`...
总结,理解和掌握H5C3的易错点、`@media`查询与`rem`布局,以及动态图电池和旋转,是提升Web开发技能的关键。这不仅涉及到语法规范,还包括响应式设计原则和动画效果的实现,都是现代Web开发中不可或缺的技能。通过...
仿京东移动端首页布局,包括固定尺寸布局、rem适配布局、vw适配布局,设计稿尺寸使用的iPhoneXR的414px * 896px。 我们可以通过在不同移动端设备上展示移动端网页,发现固定尺寸布局的不足之处,以及rem适配、vw适配...
总结来说,CSS3媒体查询结合rem布局是一种强大的工具,它使得我们可以根据用户设备的屏幕尺寸轻松地调整网页布局。通过适当地设置媒体查询断点和动态调整`html`元素的`font-size`,我们可以创建出高度响应的移动网页...
除了宽度和高度,`rem`单位还可以应用于边距、内边距、字体大小等其他CSS属性,帮助实现整个页面的响应式布局。 在学习和使用`rem`的过程中,需要注意浏览器兼容性。虽然大多数现代浏览器都支持`rem`单位,但一些较...
使用CSS3的rem属性制作响应式页面布局的关键在于理解rem单位的本质和其在不同屏幕尺寸下的动态调整。rem(root em)单位是一个相对单位,它表示元素的尺寸相对于根元素(通常是html)的字体大小。这使得rem成为构建...
这意味着,通过调整`<html>`元素的`font-size`,我们可以控制整个页面中所有使用`rem`单位的元素的大小,从而实现跨设备的布局自适应。 在适配布局的目标中,比如让两个`div`无论在大屏还是小屏上都能占据屏幕的...
我们将讨论rem布局的优势、实现原理以及如何应用到实际项目中。 首先,rem(root em)是CSS3引入的一个长度单位,代表相对于根元素(通常是html元素)的字体大小的单位。与传统的em单位不同,em是相对于父元素的...
移动Web开发中的“rem适配布局”是一种针对不同屏幕尺寸和分辨率进行自适应设计的方法,主要应用于智能手机和平板电脑等移动设备。在这个“苏宁首页案例制作”中,我们将深入探讨如何利用rem单位来构建响应式的网页...
本文将深入探讨流式布局、Flexbox弹性布局以及Less+REM+媒体查询布局策略,这些都是现代移动Web开发的关键知识点。 首先,我们来了解流式布局。流式布局是一种基于百分比宽度的布局方式,它允许网页内容根据浏览器...
本文将深入探讨移动端REM布局的适配方法,这是H5活动页实现响应式设计的关键技术。 首先,我们需要理解什么是REM(Root EM)。REM是一个相对于根元素(通常是html元素)font-size的长度单位。这意味着,如果我们...
本文将深入探讨如何在手机端利用`rem`进行页面布局的适配,并通过提供的代码实例来说明。 1. **理解rem单位** `rem`代表“root em”,与`em`单位类似,但不同之处在于`em`是相对于父元素的字体大小,而`rem`始终是...
通过使用rem,我们可以方便地调整整个页面的布局,以适应不同分辨率和尺寸的设备。 1. **理解rem单位** rem单位的全称是“root em”,与传统的em单位类似,但不同之处在于em是相对于父元素的字体大小,而rem始终相...
"移动端适配rem文件js代码.zip"这个压缩包就是针对这一需求提供的一种解决方案,它包含了一个名为“rem.js”的JavaScript文件,用于动态调整页面元素的大小,以适应不同分辨率和屏幕尺寸的手机或平板电脑。...