分享

移动端网页基础

 印度阿三17 2021-03-24

移动端

一、移动端背景

1.浏览器

主流浏览器是webkit内核,UC和QQ,百度都是根据webkit内涵修改过来的内核,国内尚无自主研发的内核。
就像国内手机操作系统都是基于安卓修改开发的一样

2.手机屏幕

不关心分辨率,常用px,不需要过度关心单位,

二、视口

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

1.布局视口layout viewport

一般移动设备的浏览器都默认设置了一个布局视口,用于解决早期的PC端页面在手机上显示的问题。

iOS, Android基本都将这个视口分辨率设置为 980px,所以PC上的网页大多都能在手机上呈现,只不过元素看上去很小,一般默认可以通过手动缩放网页。
布局视口即网页整体缩小,全部显示在手机上。

2.视觉视口

即用户能看到的网页区域。
可以缩放去操作视觉视口。
.视觉视口即网页不变,手机显示局部,可以滑动显示各个部分

3.理想视口

理想的视口是完整的网页,合适的大小。
需要手动填写meta视口标签通知浏览器操作。
乔布斯发明的创意。

4.meta标签

主要作用是:布局视口的宽度,即网页的宽度应该和设备的宽度保持一致。而不是采取默认的980px宽度。

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

三、物理像素和物理像素比

1.物理像素:分辨率

就是手机的实际分辨率 ,不是手机屏幕尺寸,不要搞混。
758*1340分辨率
表示一行的像素点是758个
一列的像素点是1340个

2.css的px

手机端1px不一定等于1物理像素
iphone8上,1px等于2个物理像素,
即iphone8的分辨率是750*1334
那么375px*667px大小的盒子就能完全覆盖住手机屏幕了。
即1px能显示两个物理像素
这个就是物理像素比或屏幕像素比(dpr)
手机分辨率单位 = px * dpr
即标签的大小会乘上dpr才是手机上分辨率的大小

在pc端1px是等于1物理像素的

3.视网膜屏

Retina(视网膜屏幕)是一种显示技术,可以将把更多的物理像素点压缩至一块屏幕里,
从而达到更高的分辨率,并提高屏幕显示的细腻程度。

4.倍图

比如5050px的图片,放到2dpr的手机上,就会当大2倍,会失真
所以需要准备一个100
100px的图片,先手动缩小2倍,然后放大就不会模糊了。
即我们准备的图片要比实际需要的大2倍,这就是倍图。
手动缩小

img{
  width:50px;
  height:50px
  //这样就能手动缩小100*100的图了
}

背景图片也需要手动缩放

backgtound-size:50px 50px;

所以注意在视网膜屏下的开发。

5.背景图片属性

backgtound-size:宽度;
//只写一个数代表宽度,高度会等比例缩放
backgtound-size:宽度 高度;
//值可以是百分百,根据父盒子的大小计算
//值为cover:图片会完全覆盖盒子,图片有可能显示不全,图片是等比例拉伸。
//值为contain:图片会先满足接触到的一边,然后停止放大。图片会完全显示,但可能不会完全覆盖住盒子。图片是等比例拉伸。

四、开发选择

1.PC端和浏览器端分开制作
2.PC端和移动端混合开发,响应式制作
3.css初始化推荐使用normalize.css

五、移动端特殊样式解决

/*CSS3盒子模型,移动端无兼容性,PC端有兼容性*/
box-sizing: border-box;

-webkit-box-sizing: border-box;

/*点击高亮我们需要清除清除 设置为transparent 完成透明
这样点击a链接就没有高亮效果了
*/
-webkit-tap-highlight-color: transparent;

/*在移动端浏览器默认的外观在iOS上
加上这个属性才能给按钮和输入框自定义样式

*/
-webkit-appearance: none;

/*禁用长按页面时的弹出菜单*/
img,a { -webkit-touch-callout: none; }

六、移动端常见布局

链接: 移动端常见布局.

一、触屏事件

touchstart 手指触摸到一个DOM元素时触发
touchmove 手指在一个dom元素上滑动时触发
touchend 手指在一个DOM元素上移开时触发

二、事件对象属性

移动端也有事件对象

1.event.touches

表示几个手指

2.event.targetTouches

正则触摸当前DOM元素上的手指的个数

3.event.changedTouches

手指状态发生了改变的列表
从无到有,
从有到无。 

来源:https://www./content-4-901701.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多