移动端网页开发基础

移动端开发基础

1.移动端浏览器主要是对webkit内核进行兼容
2.开发的移动端主要是针对于手机端开发
3.移动端开发碎片化很严重,分辨率和屏幕尺寸大小不一
4.学会谷歌浏览器模拟手机界面进行调试



视口

布局视口

  • 一般浏览器都设置了一个布局视口,解决PC端网页在手机上显示的问题
  • IOS,Android基本设置为980px,PC上的网页大多数都能在手机上呈现,元素很小,需要手动缩放


    用户体验不是很好

视觉视口

  • 用户正在看到的网站的区域,网站的区域
  • 通过缩放去操作视觉视口,不影响布局视口,布局视口还是保持原来的宽度


理想视口

  • 使网站在移动端有最理想的浏览和阅读宽度而设定
  • 理想视口,对于设备来说,是最理想的视口尺寸
  • 手动加入<meta>视口标签通知浏览器操作
  • <meta>视口标签的主要目的:布局视口的宽度应该与理想视口的宽度一致(设备多宽,布局视口多宽)

<meta>视口标签

<meta name="viewport" 
content="width=device-width,
user-scalable=no,
initial-scale=1.0,
maximum-scale=1.0,
minimum-scale=1.0">
属性 解释说明
width 宽度设置的是viewport宽度,可以设置device-width特殊值
initial-scale 初始缩放比,大于0的数字
maximum-scale 最大缩放比,大于0的数字
minimum-scale 最小缩放比,大于0的数字
user-scalable 用户是否可以缩放,yes或no(0或者1)

device-width指的是设备的宽度,自动读取
设置maximum和minimum都是1.0的意思就是不让进行缩放

总结

  • 视口就是浏览器显示页面内容的屏幕区域
  • 视口分为布局视口,视觉视口和理想视口
  • 移动端布局想要的是理想视口——手机屏幕有多宽,布局视口就有多宽
  • 想要理想视口,就要给移动端页面添加<meta>视口标签

二倍图

物理像素&物理像素比

  • 物理像素点指的是屏幕显示的最小颗粒,物理真实存在的。厂商出厂时设置好了的,后期不会改变,比如iPhone6\7\8是750*1334
  • 开发的时候1px不一定是等于1个物理像素的
  • PC端页面,1个px是一个物理像素,在移动端不一定
  • 1个px能显示的物理像素点的个数,称为物理像素比

    比如:
    iPhone6,7,8这些型号,占满屏幕是375px,物理像素点是750,意思就是物理像素比等于1:2
  • PC端和早期的手机屏幕/普通屏幕:1CSS像素=1物理像素
  • Retina(视网膜屏幕)显示技术,可以将更多的物理像素点压缩到一块屏幕里
  • 从而达到更高的分辨率,提高屏幕显示的细腻程度


    左边为视网膜屏幕,右边为普通屏幕

    差别

多倍图

  • 一张50*50的图片,在retina屏的手机上打开,就会按照物理像素比放大,就会造成模糊
  • 在标准的viewport中,使用倍图提高图片质量,解决高清设备上的图片显示问题

多倍图例子:

  • 问题:如果一个 50 * 50 px的图片放到手机屏幕中,占有的物理像素点是 100 * 100 个,会造成图片模糊
  • 解决方法:使用一个本身就是100 * 100px的图片进行制作,替换原来的图片,设置图片尺寸为50*50px



    很明显,第二个图片清晰度更高
  • 到底需要多少倍的图片,看实际开发公司需求
  • 背景图也需要使用高清图(多倍图)进行添加
.box {
      width: 50px;
      height: 50px;
      border: 1px solid #000;
      /* 背景图也需要使用高倍图进行添加 */
      background: url(images/apple100.jpg) no-repeat;
      background-size: 50px 50px;
    }

总结

1.如果是插入图,直接更改宽高(width,height)
2.背景图(更改background-size)


启动图尺寸是用来进行切图的,开发尺寸是用来量尺寸的
  • @3x 3倍图
  • @2x 2倍图
  • @1x 一倍图原图

移动端开发方案

主流方案

  • 单独制作移动端页面(主流)
  • 响应式页面兼容移动端(其次)

单独制作移动端页面

  • 通常情况下,网址域名前面加上m(mobile)可以打开移动端。通过判断设备,如果是移动设备打开,则跳到移动端页面
    比如:m.taobao.com

响应式兼容PC移动端

  • 响应式网站:PC和移动端共用一套网站,在不同宽度的屏幕下,样式会自动匹配。
    比如:

www.samsung.com

缺点:制作麻烦,花费大量精力调整兼容性问题

移动端技术解决方案

浏览器

  • 基本以webkit内核为主,基本就只考虑webkit兼容问题
  • 放心使用H5和CSS3样式
  • 浏览器私有前缀只需要考虑添加-webkit-就行

CSS初始化normalize.css

  • 移动端CSS初始化推荐使用normalize.css。可定制的css文件,让不同的浏览器在渲染网页元素的时候形式更统一,一种现代化的,为H5准备的优秀的替代方案

优点

1.保护了有价值的默认值
2.修复了浏览器的BUG,解决了浏览器的不一致的默认样式
3.模块化的,易用性提高了
4.有详细的官方文档

http://necolas.github.io/normalize.css/

CSS3盒子模型 box-sizing

  • 传统模式盒子宽度计算:盒子的宽度=CSS中设置的width+border+padding
  • CSS3盒子模型:盒子的宽度= CSS中设置的宽度width里面包含了border和padding,也就是说,CSS3的盒子模型,padding和border再也不会撑大盒子了。
    (参考CSS3笔记内的box-sizing词条,怪异盒子模型和标准盒子模型)

//www.greatytc.com/p/6878764243e7


怪异盒子模型

标准盒模型

如何选择?

  • 移动端可以全部使用CSS3的盒子模型border-box
  • PC端如果完全需要兼容,建议使用传统模式:content-box,如果不考虑兼容性,就选择CSS3盒子模型

特殊样式

  • CSS3盒子模型
box-sizing:border-box;
-webkit-box-sizing:border-box;
  • 点击高亮需要清除,设置为transparent完成透明
-webkit-tap-heightlight-color:transparent;
  • 移动端浏览器默认的外观在IOS上加上这个属性才能给按钮和输入框自定义样式
-webkit-appearance:none;
  • 禁用长按页面时的弹出菜单
img,a {
-webkit-touch-callout:none;
}

移动端技术选型

单独制作移动端页面(主流)

  • 流式布局(百分比布局)
  • flex 弹性布局(推荐)
  • less+rem+媒体查询布局
  • 混合布局

响应式页面兼容移动端(其次)

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