移动端font-size适配方案(续)
概述
之前写过一篇移动端font-size适配方案,但是在实践过程中,还是发现当时的思维太局限了,视野太窄了,所以现在补充更新一下,记录下来,供以后开发时参考,相信对其他人也有用。
我上一篇博文主要有2个误区,下面我一一记下来。
这篇博文参考了移动端适配方案(下)。
适配方案
有多种适配方案:
- 百分比布局:高度和宽度用百分比。由于高度和宽度的百分比是按照父元素尺寸的,所以改动父元素会使子元素发生变化,非常难以维护。
- px布局:固定宽度,viewport缩放。就是全部用px,然后用js控制initial-scale的缩放比例。这样在不同屏幕上面,页面都会按比例整体缩放,也比较方便维护。
- rem布局:rem做度量单位,改font-size。
需要注意的是,如果只实现页面整体放大缩小的话,方法1和方法2的效果是一样的!!!
适配目的
我之前说,我们的适配目的是:对于不同的屏幕,页面只需要简单地放大或缩小即可。对于这个目的,上面的方法2和3都能达到效果。
但是,人类发明更宽的设备,并不只是想看到更宽的字体或者更大的页面,而是想看到更漂亮的布局内容。而这才是响应式的精髓:根据不同大小的屏幕展现不同的内容给别人看!
所以从这一方面来看,方法2是远远不够的,所以我们需要方法3,优点有2个:
- 可以结合rem和px实现部分内容大小不变!
- 可以用rem响应式的为不同大小的屏幕展现不同的布局!
目前我只了解到了方法3这个程度,方法3有个局限性,就是对dpr不能很好地适配,所以以后如果有更好的兼容dpr的适配方案,我再记下来。
移动端font-size适配方案(续)的更多相关文章
- 基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范
基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.c ...
- 基于REM的移动端响应式适配方案
视口 在前一段时间,我曾经写过一篇关于viewport的文章.最近由于在接触移动端开发,对viewport有了新的理解.于是,打算重新写一篇文章,介绍移动端视口的相关概念. 关于这篇文章说到的所有知识 ...
- 移动端高清适配方案(解决图片模糊问题、1px细线问题)
本文介绍了移动端适配的3种方法,以及移动端图片模糊问题和1px细线问题的解决方法.当然了,在这之前先整理了与这些方法相关的知识:物理像素.设备独立像素.设备像素比和viewport. >> ...
- 移动端Web页面适配方案
概念理解 viewport视口 visual viewport 可见视口,设备屏幕的宽度 windw.innerWidth/Height layout viewport 布局视口,DOM宽度 doc ...
- 基于Vue/React项目的移动端适配方案
本文的目标是通过下文介绍的适配方案,使用vue或react开发移动端及H5的时候,不需要再关心移动设备的大小,只需要按照固定设计稿的px值布局,提升开发效率. 下文给出了本人分别使用create-re ...
- 移动端高清、多屏适配方案——rem
背景: 开发移动端H5页面 一套设计图 不同尺寸的手机 不同分辨率的手机 方案:使用rem作为单位解决一套设计图适应不同分辨率,不同尺寸的手机. 概念: REM(font size of the ro ...
- rem移动端适配方案
一. rem vs em 单位 定义 特点 rem font size of the root element 以根元素字体大小为基准 em font size of the element 以父元素 ...
- web移动端适配方案
web移动端常用解决方案: 一.通过js+rem,这里有一个解决方案(http://imochen.github.io/hotcss/) 1.1.rem兼容性(https://caniuse.com) ...
- html5移动端主流适配方案
1.流式布局(百分比布局) 案例:京东移动端 优点:简单方便,只需要固定高度,宽度自适应: 缺点:大屏幕手机实际显示的不协调. 2.响应式布局 优点:可以节约成本,不用再做专门的web app网 ...
随机推荐
- 一波水题 MZOJ 1035: 贝克汉姆
#include <bits/stdc++.h> using namespace std; ; int n,m; int v[N],w[N],f[N]; int main() { scan ...
- 50.IOS上传APP问题
更新版本的时候遇到几个问题 1.ERROR ITMS-90535: "Unexpected CFBundleExecutable Key. The bundle at 'Payload/di ...
- 49.UILable宽度高度自适应
第一种: UILabel *labl = [[UILabel alloc]init]; labl.backgroundColor = [UIColor redColor]; labl.numberOf ...
- 开启Greenplum DataBase报错:could not bind IPv4 socket: Address already in use
在运行gpstart时无法开启服务,查看日志看到下图所示错误: 查看日志错误大概是端口已被占用,所以无法重启. 解决方法: (1)利用ipcs查看数据库占用的共享内存.(如下图所示) (2)查看数据库 ...
- MySQL/Oracle视图的创建与使用
1.什么是视图? 视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成. 2.视图的特点. 视图中的数据并不属于视图本身,而是属于基本的表,对视 ...
- 响应式布局(css,js,php等方法),根据媒体类型设计不同的样式,css在线手册
[css3在线手册]http://css.doyoe.com/ http://blog.csdn.net/duchao123duchao/article/details/52638506 [根据判断 ...
- Python-类-dict
class dict(object): """ dict() -> new empty dictionary dict(mapping) -> new dic ...
- es6 字符串方法
1.字符串的新方法 includes() 包含属性 startsWith() 头部开始是否包含 endWith() 字符串是否在尾部 ========三个返回值都为布尔值 第二参数为数字 e ...
- Redis和RabbitMQ在项目中的使用
一:Redis的使用 1.先引入pom.xml的依赖 <dependency> <groupId>redis.clients</groupId> <artif ...
- RNN入门
RNN入门学习 原文地址:http://blog.csdn.net/hjimce/article/details/49095371 作者:hjimce 一.相关理论 RNN(Recurrent Neu ...