揭开html5移动端页面制作的神秘面纱

初涉移动端,需要准备好一些基础知识:

搞清楚css中rem,em,px的关系

PX特点

1. IE无法调整那些使用px作为单位的字体大小;

2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;

3. Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核)。

px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。(引自CSS2.0手册)

em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(引自CSS2.0手册)

任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。

EM特点

1. em的值并不是固定的;

2. em会继承父级元素的字体大小。

所以我们在写CSS的时候,需要注意两点:

1. body选择器中声明Font-size=62.5%;

2. 将你的原来的px数值除以10,然后换上em作为单位;

3. 重新计算那些被放大的字体的em数值。避免字体大小的重复声明。

rem特点

rem是CSS3新增的一个相对单位(root em,根em),这个单位引起了广泛关注。这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。

掌握了这些基础知识之后,我们就可以开干了,

拿到设计稿之后,如果是640px,我们就按照640px的尺寸切图,然后一切单位都按照rem进行计算,html需要设置字体大小{font-size:1px;},然后后面所有的标签都可以按照rem换算了,这里怎么换算需要先去了解一下。

然后再页面中加入一段js:

(function (doc, win) {
        var docEl = doc.documentElement,
            resizeEvt = ‘orientationchange‘ in window ? ‘orientationchange‘ : ‘resize‘,
            recalc = function () {
                var clientWidth = docEl.clientWidth;
                if (!clientWidth) return;
                docEl.style.fontSize = 1 * (clientWidth / 640) + ‘px‘;
            };
        // Abort if browser does not support addEventListener
        if (!doc.addEventListener) return;
        win.addEventListener(resizeEvt, recalc, false);
        doc.addEventListener(‘DOMContentLoaded‘, recalc, false);
    })(document, window);

重新设置html的字体大小,这样就能完成页面自适应了。如果不通过js还有另外一种办法是通过媒体查询的方式,这个也是非常方便的

<link rel="stylesheet" href="styleA.css" media="screen">
<link rel="stylesheet" href="styleB.css" media="screen and (max-width: 800px)">
<link rel="stylesheet" href="styleC.css" media="screen and (max-width: 600px)">
时间: 2024-08-25 06:37:02

揭开html5移动端页面制作的神秘面纱的相关文章

html5移动端页面分辨率设置及相应字体大小设置的靠谱使用方式

对于动端网页编写CSS网上有很多介绍的文章,但在实际使用过程中还是会纠结. 网上的资料太多,且大多都是技术介绍型,特别是针对android上,网上写的各种麻烦,各种复杂,各种不接地气儿... 我在做移动端网页时,总是和美工设计的页面有出入,主要还是由于双方对移动端HTML5实现页面还了解还不够. 今天就研究一下各大互联网公司对于移动端页面的处理方式. 主要研究对象:BAT(度娘,阿狸,企鹅)这几家的移动端网站或webapp 主要研究点:viewport的设置,字体的设置,图片原始宽高设置 汝甚吊

移动端页面制作

1:pc端响应式开发 火狐浏览器 打开菜单栏,点击开发者,选择我们的响应式设计 ctrl+shiift+M 谷歌浏览器 点击“show console”图标,打开模拟面板,使用"User Agent",选择所要模拟的机子,点击emulate按钮模拟,刷新浏览器.如要调整横竖屏,切换到"screen" 2:新建页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&

Html5移动端页面布局通用模板暨移动端问题总结

最近的移动端项目终于告一段落了,其中遇到了不少问题,在此和大家总结分享. 首先,说一下结构.一般的手机页面大致可以分为五块:head, content, foot,solidbar,dialog. 针对这种布局,在此提供一种方式,这种方式使用了css3的一些样式属性.代码如下: 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>Demo&

Html5移动端页面自适应布局详解(阿里rem布局)

在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport,通读网上的各种对于viewport的解释之后 大概viewport可以理解为三种 1.layout viewport ,也就是这个浏览器默认的viewport 2.visual viewport  , 浏览器可视区域viewport 3. ideal viewport  ,移动设备的理想viewport 通俗点讲,pc端css中的1px并不会等于移动端,原理很简单,举个例子说 通过chrome浏览器可以知道,一个I

移动端页面制作2

5:等分,居中等页面布局 等分 在说等分之前,先抛出一个问题,如下面的emmet代码,footer部分的导航有些页面是三个,有些页面是四个,我们要求的是不论是三个还是四个甚至于5个,都平分宽度. footer.footer>ul.nav-links>li*3 footer.footer>ul.nav-links>li*4 float 如果采用float技术的话,那估计只有在ul上添加额外的class来设置li的百分比宽度了. .nav-links li{ float:left; w

移动端页面制作的注意事项

1.字体设置: 改用px为rem,字体会随着页面的大小而进行缩放 em 是相对于其父元素来设置字体大小的.  /* 进行任何元素设置,都有可能需要知道他父元素的大小 */ rem是相对于根元素<html> 通过它既可以做到只修改根元素就成比例地调整所有字体大小. 高也是可以用rem设置的,就好比320px 的分辨率,1rem就是32px,1.75rem 就是56px.

移动端页面制作字号大小设定问题,设计稿文字字号规范,解决移动端大小屏适配问题

逻辑分辨率:320*480  <==> 物理分辨率:640*690            最小字号:12px 逻辑分辨率:320*658  <==> 物理分辨率:640*1136          最小字号:12px 逻辑分辨率:375*667  <==> 物理分辨率:750*1334          最小字号:14px(13.5px) 逻辑分辨率:414*736  <==> 物理分辨率:1242*2208(1080*1920) 最小字号:15px 前端按

html5 移动端单页面布局

序     移动端的web网页使用的是响应式设计,但一般我们看到的网站页面都是跳转刷新得到的,比如通过点击一个menu后进入到另一个页面 今天来说下是移动端的单页面的布局.单页面就是一切操作和布局都是在一个页面下进行 不需要页面跳转 ,再通俗的说就是类似于平常的选项卡 但是他又比选项卡要复杂一点 因为他是在手机端 并且当做是一个页面 单页面的作用以及优势:    1.嵌套到native里实现app的混合开发    2.数据量小的页面用单页面便于开发    3.无需跳转页面响应更快 Demo效果

HTML5新结构标签和移动端页面布局

--------------------HTML5新结构标签--------------------1.h5新增的主要语义化标签如下: 1.header 页面头部.页眉 2.nav 页面导航 3.article 一篇文章 4.section 文章中的章节 5.aside 侧边栏 6.footer 页面底部.页脚pc端兼容需要引用对应的js脚本<script type="text/javascript" src="//cdn.bootcss.com/html5shiv/r