概述

之前写过一篇移动端font-size适配方案,但是在实践过程中,还是发现当时的思维太局限了,视野太窄了,所以现在补充更新一下,记录下来,供以后开发时参考,相信对其他人也有用。

我上一篇博文主要有2个误区,下面我一一记下来。

这篇博文参考了移动端适配方案(下)。

适配方案

有多种适配方案:

  1. 百分比布局:高度和宽度用百分比。由于高度和宽度的百分比是按照父元素尺寸的,所以改动父元素会使子元素发生变化,非常难以维护。
  2. px布局:固定宽度,viewport缩放。就是全部用px,然后用js控制initial-scale的缩放比例。这样在不同屏幕上面,页面都会按比例整体缩放,也比较方便维护。
  3. rem布局:rem做度量单位,改font-size。

需要注意的是,如果只实现页面整体放大缩小的话,方法1和方法2的效果是一样的!!!

适配目的

我之前说,我们的适配目的是:对于不同的屏幕,页面只需要简单地放大或缩小即可。对于这个目的,上面的方法2和3都能达到效果。

但是,人类发明更宽的设备,并不只是想看到更宽的字体或者更大的页面,而是想看到更漂亮的布局内容。而这才是响应式的精髓:根据不同大小的屏幕展现不同的内容给别人看!

所以从这一方面来看,方法2是远远不够的,所以我们需要方法3,优点有2个:

  1. 可以结合rem和px实现部分内容大小不变!
  2. 可以用rem响应式的为不同大小的屏幕展现不同的布局!

目前我只了解到了方法3这个程度,方法3有个局限性,就是对dpr不能很好地适配,所以以后如果有更好的兼容dpr的适配方案,我再记下来。

移动端font-size适配方案(续)的更多相关文章

  1. 基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范

    基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.c ...

  2. 基于REM的移动端响应式适配方案

    视口 在前一段时间,我曾经写过一篇关于viewport的文章.最近由于在接触移动端开发,对viewport有了新的理解.于是,打算重新写一篇文章,介绍移动端视口的相关概念. 关于这篇文章说到的所有知识 ...

  3. 移动端高清适配方案(解决图片模糊问题、1px细线问题)

    本文介绍了移动端适配的3种方法,以及移动端图片模糊问题和1px细线问题的解决方法.当然了,在这之前先整理了与这些方法相关的知识:物理像素.设备独立像素.设备像素比和viewport. >> ...

  4. 移动端Web页面适配方案

    概念理解 viewport视口 visual viewport 可见视口,设备屏幕的宽度  windw.innerWidth/Height layout viewport 布局视口,DOM宽度 doc ...

  5. 基于Vue/React项目的移动端适配方案

    本文的目标是通过下文介绍的适配方案,使用vue或react开发移动端及H5的时候,不需要再关心移动设备的大小,只需要按照固定设计稿的px值布局,提升开发效率. 下文给出了本人分别使用create-re ...

  6. 移动端高清、多屏适配方案——rem

    背景: 开发移动端H5页面 一套设计图 不同尺寸的手机 不同分辨率的手机 方案:使用rem作为单位解决一套设计图适应不同分辨率,不同尺寸的手机. 概念: REM(font size of the ro ...

  7. rem移动端适配方案

    一. rem vs em 单位 定义 特点 rem font size of the root element 以根元素字体大小为基准 em font size of the element 以父元素 ...

  8. web移动端适配方案

    web移动端常用解决方案: 一.通过js+rem,这里有一个解决方案(http://imochen.github.io/hotcss/) 1.1.rem兼容性(https://caniuse.com) ...

  9. html5移动端主流适配方案

    1.流式布局(百分比布局)    案例:京东移动端 优点:简单方便,只需要固定高度,宽度自适应: 缺点:大屏幕手机实际显示的不协调. 2.响应式布局 优点:可以节约成本,不用再做专门的web app网 ...

随机推荐

  1. svn checkout单个文件

    http://www.letuknowit.com/archives/svn-checkout-single-file/ 有时候需要在svn版本仓库中某个比较上层的目录中(比如根目录)checkout ...

  2. 第一个C#语言

    第一个C#程序 .NET和C#的区别 1.  C#只是.NET的一部分,.NET不止包含C# 2.  C#是一种程序语言,.NET是一个平台.框架 IDE环境:vs 2012 VS2012的窗口结构 ...

  3. about CSS3

    1. 1.transition 语法:transition:[ transition-property ] || [ transition-duration ] || [ transition-tim ...

  4. centos7 虚拟机安装docker-ce-17.09

    1.创建虚拟机使用iso镜像centos-x86_64-7.3.1611 2.安装centos选择桌面版 3.配置命令行环境,网卡(见博客另一篇文章) 4.安装container-selinux-2. ...

  5. TCP/IP协议(7):应用层

    应用层上协议有DNS.DHCP.HTTP.SSL/TLS.FTP.Telnet等. 1.DNS域名解析 DNS服务器用来解析域名从而获得对应IP地址,我们在对网络进行设置的时候如果DNS服务器没有设置 ...

  6. hadoop集群的三种运行模式

    单机(本地)模式: 这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统.在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM上.这里同样没有D ...

  7. Java四种排序:冒泡,选择,插入,二分(折半插入)

    四种排序:冒泡,选择,插入,二分(折半插入) public class Test{ // public static void main(String[] args) { // Test t=new ...

  8. 一些js在线引用文档

    1.jquery在线引用: <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script& ...

  9. 回文(palindrome)

    如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文).

  10. idea2018.2.4的安装激活与热部署插件JRebel的激活方法

    去Idea的官网下载如上版本的Idea安装文件 并且在网上搜索下载如下破解工具 放置在相应的Idea安装目录下 然后在Idea中输入激活码 { "licenseId": " ...