移动端开发小结

前言

会了PC端开发就会了移动端开发,这个说法没错,只是点击(click)事件变成了触屏事件(touch),滑轮滚动(scroll)变成了拖曳(scroll)事件。下面就说一下移动端开发的一些坑与技巧。

关于布局

适配移动端

重点:移动端布局一定要在head上加一句话:

    

目的:让整个屏幕显示宽度和手机宽度相等,方式用户缩小和放大。

媒体查询

移动端布局和PC端布局相差很多,当我们缩小时候,某些元素会发生改变,这样会影响用户体验,所以CSS3出现了新的属性 媒体查询(media query)
CSS代码片段:

 @media only srceen and max-width(600px)  and min-width(400px) {
        body{background-color:red;}
  }//屏幕在400px~600px之间背景颜色为红色
 @media only srceen and max-width(1000px)  and min-width(600px) {
        body{background-color:blue;}
  }//屏幕在600px~1000px之间背景颜色为蓝色

这样我们可以根据不同的屏幕大小来切换响应的布局。

交互方式

手机端的交互方式不一样

  • PC有hover伪类 移动端没有
  • 移动端 touch 事件
  • PC有resize 移动端没有
  • PC需要滚动条 移动端不需要

PS:电商网站已经不再使用媒体查询了,主要是通过不同屏幕大小来判断使用设备,加载不同的文件实现。 而一些新闻类网站还在使用。

关于字体

在移动端开发中,字体大小问题一直困扰着开发者,但是根据MDN提供的方案,我们可以找到一些方案。

1. 什么是px?

px就是简单的像素单位,适用于固定值

2. 什么是vh/vw?

vh = viewport height = 100vh就是占满全屏高度 vh单位前的值是百分比
vw = viewport width = 100vw就是占满全屏宽度 值同上

3. 什么是em?

宽泛的说是一个m的字体大小,但是应用的时候都会说是一个汉字的大小,主要em继承自身的font-size,如果没有定义font-size会继承父亲的font-size。

4. 什么是 rem?

rem = root em 继承根元素的font-size,一般都是html的font-size

5. rem 和 em 的区别是什么?

区别就是rem只继承根元素的font-size,em继承自身的font-size,两者没有关系。

手机端方案的特点是什么

所有手机显示的界面都是一样的,只是大小不同
1 rem == html font-size == viewport width 一个字的大小

解决方案

使用 JS 动态调整 REM

 
 

这是一种根据屏幕大小来更改字体大小的解决方案,具有很高的灵活性
当然REM 可以与其他单位同时存在

 font-size: 16px;
 border: 1px solid red;
 width: 5rem;

小结:

CSS3提供了媒体查询属性,我们可以根据不同的屏幕来设计不同的页面,Rem方案让我们的布局在不同的设备下都能等比例的显示,有了这样的思路,这样我们在移动端的开发会更加顺畅。

你可能感兴趣的:(移动端开发小结)