直接上干货

1,dpr 苹果手机像素是2 普通安卓机是1 也就是说1像素下苹果需要的像素点是安卓机的两倍 所以一个需要15x15显示的图像安卓机仅需要提供15X15即可显示清楚 苹果手机需要要30X30  你可以采用检测不同类型手机加载不同大小图  为了保证像素

推荐做的时候用苹果大图然后在转化为不同尺寸。

2,rem 实现方法

在头部通过viewport 监控屏幕尺寸:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

在css中利用css3 @media 呈现在不同尺寸屏幕下font-size 从而控制页面的等比放大

根html设置font-size 为67.5%时 时1rem 为 10px

这里采用的是125%即为20px 是由于谷歌浏览器的最小显示是12px 为了方便调试并且我做完发现采用20效果还行

我这里做的时候是在340的基准下所以 在360的屏幕下 font-size 应该时360/340 * 125% 约= 132.3 以此类推

html

{
font-size : 125%;
-ms-text-size-adjust:100%;
-webkit-text-size-adjust:100%;
height:100%
}

@media screen and (min-width: 321px) and (max-width: 360px){
html {
font-size: 132.3% ;
}

@media screen and (min-width: 361px) and (max-width: 375px){
html {
font-size: 137.9% ;
}
}

@media screen and (min-width: 376px) and (max-width: 414px){
html {
font-size: 152.2% ;
}
}

@media screen and (min-width: 415px) and (max-width: 435px){
html {
font-size: 160%;
}
}

@media screen and (min-width: 436px) and (max-width: 480px){
html {
font-size: 176.47%;
}
}

@media screen and (min-width: 641px) and (max-width: 769px){
html {
font-size: 250% ;
}
}

3,注意手机浏览器一般都有设置最小的字体显示   打个比方就是你设置为5px 手机浏览器为了显示清楚 会按照10px显示

因为10px 是这个手机浏览器内置要求的最小字体 为了能显示5px的字

这里推荐采用css3 的scale属性通过缩放来模拟字体变小

手机端边框也有最小显示大小 可能你在google浏览器的手机模拟上看着没问题但在真实手机上会出现边框消失现象

这里推荐将border设置成none 采用css3 的box-shadow属性来模拟边框 box-shadow: inset 0 0 .05rem #fff,
inset 0 .05rem 0 #fff,
0 0px .05rem 0px black;//这里是黑边框

4,手机端不支持hover 属性如果要模拟hover效果可以采用 绑定touchstart 和 touchend 模拟效果 这里li-active是触控后的样式

$('.readboy-catalog li').on('touchstart',function(e) {
$(this).addClass("li-active");
});

$('.readboy-catalog li').on('touchend',function(e) {

$(this).removeClass("li-active");

});

5,手机端因为要求尽可能少的加载资源所以这里不推荐使用jquery 而是更轻量级的zepto用法和jquery基本相同

6,手机端推荐的轮播插件swiper样式繁多 且支持触控

后面再慢慢补充

通过rem编写自适应移动端要点的更多相关文章

  1. 使用rem编写自适应屏幕网页造成div被span撑高的解决办法

    原始代码: <html> <head> <meta charset="utf-8"> <meta content="ie=edg ...

  2. 自适应PC端网页制作使用REM

    做一个PC端的网页,设计图是1920X1080的. 要在常见屏上显示正常(比例正确可) 1280X720 1366X768 1440X900 1920X1080 使用了几种办法 1.内容在一屏内显示的 ...

  3. 移动端canvas文字图片合成并生成图片(canvas宽度自适应移动端屏幕)

    这是我之前做的一个关于文字图片合成的代码,供大家参考,不足支出还望体谅:具体的注释在代码里都有,有什么不懂了可以留言互相交流.<!DOCTYPE html> <html lang=& ...

  4. 在python中编写socket服务端模块(二):使用poll或epoll

    在linux上编写socket服务端程序一般可以用select.poll.epoll三种方式,本文主要介绍使用poll和epoll编写socket服务端模块. 使用poll方式的服务器端程序代码: i ...

  5. rem实现自适应

    总结一下,rem实现自适应:用rem代替px,配合媒体查询设置font-size:n%. 首先,px是死的.若一律用px,那就会大的显得小,小的屏幕显得大.其次,rem是活的,通过设置字体大小可以引起 ...

  6. css3 rem手机自适应框架

    css3 rem手机自适应框架 rem是按照html的字体大小来 所以 不同宽度浏览器 htmlfont-size不一样 就可以做到自适应了 此方法比百分比方便<pre><!DOCT ...

  7. 移动端利用rem实现自适应布局

    好久没有写博客了,刚好说说最近遇到的移动端布局问题吧. 本来一直是觉得我的页面布局能力还是不错的,当然,是相对于较基础的来说还是不错的.不过,自己写的案例终归是跟实际开发有区别的,自己写案例的是觉得这 ...

  8. rem 结合 scss 移动端自适应 初级入门demo

    首先说明 本篇 内容 适合初级使用 rem 开发移动端 自适应 公式计算 推导过程, 高手绕路. 目标尺寸 = rem  *  根字体大小 Px   =  rem * (html根字体px) 根字体大 ...

  9. 移动端web app要使用rem实现自适应布局:font-size的响应式

    关于webAPP的开发最主要解决的就是“自适应自适应布局”.常规的适配有很多做法,例如:流式布局.限死宽度等,但是这些方案都不是最佳的解决方法​,而最满足设计需要的是: 元素可以根据屏幕大小而等比列变 ...

随机推荐

  1. PS中的图像知识

    图像处理对于前端工作来说是一个不能回避的问题,ps技术也是我们必备的技能.用法可以在使用中不断的熟练,但针对前端技术本身的一些知识点,需要我们平时不断的积累才能够在使用中不出现问题. 如今的办公,已经 ...

  2. Java学习

    第一个java程序: 用记事本创建一个文件名为HelloWorld.java文件,我的目录为D:\My Documents\Java-workspace\Test\HelloWorld.java. 打 ...

  3. HttpClient封装工具类

    import java.io.IOException; import java.net.URI; import java.util.ArrayList; import java.util.List; ...

  4. X86 Socket 通信

    struct txd_socket_handler_t { int fd; }; txd_socket_handler_t *txd_tcp_socket_create() { txd_socket_ ...

  5. C#参数化执行SQL语句,防止漏洞攻击本文以MySql为例【20151108非查询操作】

    为什么要参数化执行SQL语句呢? 一个作用就是可以防止用户注入漏洞. 简单举个列子吧. 比如账号密码登入,如果不用参数, 写的简单点吧,就写从数据库查找到id和pw与用户输入一样的数据吧 sql:se ...

  6. 使用C#/.net语言进行ProE/Creo二次开发

    随便哪个版本的Visual studio 设置系统环境变量 通常这个环境变量在安装ProE的时候如果选择安装VBAPI就会自动设置 注意32位和64位操作系统路径是不同的.我的是64位操作系统. 然后 ...

  7. 在ESXi 5.x 和 ESXi 6.0.x 中如何安装第三方供应商开发的驱动程序

    在 VMware ESXi 5.x 和 ESXi 6.0.x 中如何下载并安装异步驱动程序 (2076262)   Symptoms 免责声明:本文为 How to download and inst ...

  8. 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译

    本文内容中的部分资料和知识来源于网络,具体引用出处不明. VS的IDE从VC6到VS2010的变化可谓是天翻地覆,最新的VS2010有一个特性就是支持多显示器开发,这无疑为我们的开发带来很大的便利. ...

  9. git学习2:版本库

    创建版本库 版本库,又称仓库,英文名为repository,版本库内的所有文件都可以被Git管理起来,即每个文件的修改.删除,Git都能跟踪. 1,在目录中创建版本库 在目录中有两种创建版本库的方法, ...

  10. 数据库schema设计与优化

    原文地址 1. 前言 对于数据库而言,在日常开发中我们主要的关注点有两块,一个是schema的结构设计,另一个就是索引的优化,这两块是影响我们最终系统结构和性能的关键部分,自然也是我们花费精力最多的部 ...