移动端基础和布局

移动端基础

移动端调试方法

  1. Chrome DevTools (谷歌浏览器)的模拟手机调试
  2. 搭建本地web服务器,手机和服务器个局域网内,通过手机访问服务器
  3. 使用外网服务器,直接IP或域名访问

总结

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

视口

  1. 视口(viewport)就是浏览器显示页面内容的屏幕区域。视口可以分为布局视口,视觉视口,理想视口

布局视口 layout viewport

  1. 一般移动设备的浏览器都默认设置 了一个布局视口,用于解决早期的PC端页面在手机上显示的问题
  2. iOS, Android基本都将这个视口分辨率设置为980px ,所以PC上的网页大多都能在手机上呈现,只不过元素看上去很小,一般默认可以通过手动缩放网页

视觉视口 visual viewport

  1. 指用户正在看到的网站的区域,注意:是网站的区域
  2. 可以通过缩放去操作视觉视口,但不会影响布局视口,布局视口仍保持原来的宽度

理想视口 ideal viewport

  1. 为了使网站在移动端有最理想的浏览和阅读宽度而设定
  2. 理想视口,对设备来讲,是最理想的视口尺寸
  3. 需要手动添写meta视口标签通知浏览器操作
  4. meta视口标签的主要目的:布局视口的宽度应该与理想视口的宽度一致,简单理解就是设备有多宽,我们布局的视口就多宽

总结

  1. 视口就是浏览器显示页面内容的屏幕区域
  2. 视口分为布局视口、视觉视口和理想视口
  3. 移动端布局想要的是理想视口就是手机屏幕有多宽,我们的布局视口就有多宽想要理想视口
  4. 需要给我们的移动端页面添加meta视口标签

meta视口标签

标签属性

  1. <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特殊值
    user-scalable用户是否可以缩放,yes或no(1或0)
    initial-scale初始缩放比,大于0的数字
    maximum-scale最大缩放比,大于0的数字
    minimum-scale最小缩放比,大于0的数字

标准viewport设置

  1. 视口宽度和设备保持一致
  2. 视口的默认缩放比例1.0
  3. 不允许用户自行缩放
  4. 最大允许的缩放比例1.0
  5. 最小允许的缩放比例1.0

二倍图

物理像素&物理像素比

  1. 物理像素点指的是屏幕显示的最小颗粒,是物理真实存在的。这是厂商在出厂时就设置好的
  2. 我们开发时候的1px不是一定等于1个物理像素的
  3. PC端页面,1个px等于1个物理像素的,但是移动端就不尽相同
  4. 一个px的能显示的物理像素点的个数,称为物理像素比或屏幕像素比
  5. PC端和早前的手机屏幕/普通手机屏幕: 1CSS像素= 1 物理像素的
  6. Retina (视网膜屏幕)是一种显示技术,可以将把更多的物理像素点压缩至一块屏幕里,从而达到更高的分辨率,并提高屏幕显示的细腻程度

背景缩放 background-size

  1. background-size: 背景图片宽度 背景图片高度;
    1. 单位:长度 | 百分比 | cover | contain
    2. cover把背景图片等比例拉伸,要完全覆盖div盒子,可能有部分背景图片显示不完全
    3. contain把图像高度和宽度等比例拉伸,当宽度或者高度铺满div盒子就不再进行拉伸,可能有部分空白区域
      <head>
          <meta charset="UTF-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport"
              content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
          <title>Document</title>
          <style>
              div {
                  width: 400px;
                  height: 400px;
                  border: 2px solid pink;
                  background: url(../images/dog.jpg) no-repeat;
                  /* 
                  1.单位:长度  若只写一个参数,则为省略高度,会进行等比缩放
                  background-size: 400px 400px;
                  background-size: 400px;
                  */
      
                  /* 
                  2.单位:百分比 相对于父盒子的百分比 
                  background-size: 50%;
                  */
      
                  /* 
                  3.单位:cover 等比例拉伸 要完全覆盖div盒子 可能有部分背景图片显示不完全 
                  background-size: cover;
                  */
      
                  /*
                  4.单位: contain 高度和宽度等比例拉伸,当宽度或者高度铺满div盒子就不再进行拉伸 可能有部分空白区域*/
                  background-size: contain;
              }
          </style>
      </head>
      

移动端开发

移动端开发选择

单独移动端页面(主流)

  1. 通常情况下,网址域名前面加m(mobile)可以打开移动端。通过判断设备,如果是移动设备打开,则跳到移动端页面
    1. 流式布局(百分比布局)
    2. flex弹性布局(强烈推荐)
    3. less/sass + rem/vh + 媒体查询布局
    4. 混合布局

响应式兼容PC移动端

  1. 通过判断屏幕的宽度来改变样式,以适应不同终端
  2. 缺点:制作麻烦,需要花很大精力去调兼容性问题
    1. 媒体查询
    2. bootstarp

移动端技术解决方案

CSS3盒子模型

  1. CSS3中的盒子模型,padding和border不会撑大盒子
    • box-sizing: border-box;
  2. 传统盒子模型(默认不写)
    • box-sizing: content-box;

如何选择使用

  1. 移动端可以全部使用CSS3盒子模型
  2. PC端如果需要兼容,就使用传统模式,不考虑兼容性则选择CSS3盒子模型

特殊样式(重点)

  1. CSS3盒子模型
    • -webkit-box-sizing: border-box;
  2. 点击高亮我们需要进行清除 设置为transparent 完成透明
    • *{-webket-tap-highlight-color: transparent;}
  3. 在移动端浏览器默认的外观在ios上加上这个属性才能给按钮和输入框自定义样式
    • input {-webkit-appearance: none;}
  4. 禁用长按页面时的弹出菜单
    • img, a {-webkit-touch-callout: none;}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢代码的新之助

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值