移动web前端页面开发自适应的问题

前言:入职公司不知不觉已经两个星期了,在这里我要吐槽一下,看过我的文章的人都知道我是Android,Java方向的,至于PHP也是以后配合Java方向发展而自学了点。在我现在这家公司面试的时候我面的是Android开发的,老板不懂技术,要求做微商城,我以为是做商城版的app结果不是,而是移动端web,可能这就是缘分吧,是这公司的人事小姐姐主动打电话叫我来面的试,结束了我正在找实习工作的痛苦。入职时,由于做后台开发的人太多了,我就被分配到了前端,我的实习生涯正式开始!前端对于我来说我就是个小白,在此遇到的一些问题对于小白来说是要注意的!

好了我们进入主题,其实做移动web最重要的是做什么呢?(这里不谈动态页面数据交互)那就是要做自适应,那要怎么做自适应呢?首先我们就要了解px、em、rem之间的区别!

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会继承父级元素的字体大小。

注意:任意浏览器的默认字体高都是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作为单位就行了。
所以我们在写CSS的时候,需要注意两点:

(1) body选择器中声明Font-size=62.5%

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

(3) 重新计算那些被放大的字体的em数值。避免字体大小的重复声明
也就是避免1.2 * 1.2= 1.44的现象。比如说你在#content中声明了字体大小为1.2em,那么在声明p的字体大小时就只能是1em,而不是1.2em, 因为此em非彼em,它因继承#content的字体高而变为了1em=12px。

rem特点:

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

px 与 em与 rem 的选择?

介绍玩上面的特点了那么我们该如何选择呢?
我们总结一下:
px实际上就是像素,用PX设置字体大小时,比较稳定和精确。但是px不支持用户进行浏览器缩放或者不同移动端的兼容,因为像素是固定的,屏幕大小是变化的。由此引入了em和rem。

em是根据父元素来对应大小,是一种相对值,并不是绝对值,em值 = 1/父元素的font-size*需要转换的像素值。进行任何元素设置,都有可能需要知道他父元素的大小,这很不方便所以又有了rem。

rem是根据根元素html的font-size来对应大小,1rem = 100px,可以在根元素html中写固定像素也可以写百分比,然后在具体的标签上设置rem

回到我们的问题,我们现在是要做自适应当然首选em或rem,对于只需要适配少部分手机设备,且分辨率对页面影响不大的,使用px即可 。对于需要适配各种移动设备使用rem,例如只需要适配iPhone和iPad等分辨率差别比较挺大的设备。说到这里相信小伙伴们都知道该选神马了。

有兴趣可以看看em与 rem 的使用详解这篇文章:http://caibaojian.com/rem-vs-em.html

移动web前端布局问题

了解完上面的内容后接下来就是在布局中的问题了,上面都是为了这里的铺垫,这里我就不写了请看大神的文章https://blog.csdn.net/u010852544/article/details/53538362

最后在此,我要感谢一个人,一个陌生人,他是我在一个前端群里人认识的人,他q名叫胡汉三,我叫他三哥,感谢他总是很热心的帮我解决问题,就像我Android的师傅一样,不仅仅交我技术还交会了我很道理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容