移动端适配单位rem
0 写在前面
本周惊喜地发现,其他各个老师的软工班(罗杰老师班和欧阳老师班)的软工项目的alpha版本都已经发布了!(然而我们软工项目还没开始写代码…逃…)
十分好奇的我第一时间下载了一些他们的产品进行体验,由于我是在手机上打开的他们的项目,一些基于web端开发的产品在前端效果上看起来有些古怪。进而发现,可能是在各个项目组的开发过程中,没有将移动端的适配问题考虑在内。
由于手机网络的普及,越来越多的用户开始使用移动端产品,因此在产品的开发和设计时,有必要考虑移动端的适配问题。
今天我讲通过这篇文章来记录一下移动端适配单位rem的学习笔记。
1 基本知识点
逻辑像素: CSS像素
物理像素:设备出厂时即被设定好的(也叫设备像素)
设备像素比dpr = 物理像素/CSS像素
2 rem & em
em:
font-size的值 相对于父级字体大小
width,height的值 相对于自身字体大小
谷歌浏览器限制最小字体大小为12px若设置低于12px则字体大小按12px计算
rem:相对于跟标签html的font-size值
3 屏幕尺寸
640 * 1136 -> 物理像素
eg: iphone5 dpr = 2
一个div在设计稿里的实际宽度200px -> 100px
320 * 568 -> CSS像素
一列占:320 / 16 (总列数:自己设置) = 20px (每列占的CSS像素)
一个div元素所占列数 = 100px / 20px = 5rem
4 总结
元素适配宽度 = 元素所占列数rem
一列的宽度 = 屏幕实际宽度 / 总列数
元素实际列数 = 元素在设计稿里的宽度 / 一列的宽度
5 示例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>rem</title>
<style>
html{
font-size: 20px;
}
div{
/* CSS像素 :逻辑像素*/
height: 90px;
width: 90px;
background-color: red;
/* 物理像素:设备出厂时即被设定好的(也叫设备像素) */
/* 设备像素比dpr = 物理像素/CSS像素 */
}
.demo{
font-size: 16px;
}
.demo .em{
/* 相对于父级字体大小 */
font-size: 2em;
width: 3em;
height: 3em;
}
.demo .rem{
font-size: 2rem;
width: 5rem;
height: 5rem;
background-color: aqua;
}
</style>
</head>
<body>
<!--
rem&em
em:1. font-size的值 相对于父级字体大小
2. width height的值 相对于自身字体大小
注意:谷歌浏览器限制最小字体大小为12px若设置低于12px则字体大小按12px计算
rem:相对于跟标签html的font-size值
-->
<!--屏幕尺寸
640 * 1136 -> 物理像素
eg: iphone5 dpr = 2
一个div在设计稿里的实际宽度200px -> 100px
320 * 568 -> CSS像素 一列占:320 / 16 (总列数:自己设置) = 20px (每列占的CSS像素)
一个div元素所占列数 = 100px / 20px = 5rem 1. 元素适配宽度 = 元素所占列数rem
2. 一列的宽度 = 屏幕实际宽度 / 总列数
3. 元素实际列数 = 元素在设计稿里的宽度 / 一列的宽度
--> <div class="demo">
<p class="em">好好学习</p>
<div class="rem">天天向上</div>
</div>
</body>
</html>
移动端适配单位rem的更多相关文章
- 移动端适配(rem & viewport)--移动端开发整理笔记(四)
移动端适配 通过rem适配 em: 根据元素自身的字体大小来计算自己的尺寸 rem: (root em) 根据根节点(html)的字体大小来计算自己的尺寸 我们知道,在不同的手机设备,分辨率大小是 ...
- 移动端适配之REM
随着手机等移动设备的普及,移动端带来的流量已经不可忽视,一个网站不只是只有pc的页面就足够了,移动端的适配已经势在必行.但是移动设备种类繁多,屏幕尺寸也千奇百怪,能不能找到一种方式可以适配所有的手机屏 ...
- H5移动端适配方案-rem
为什么移动端要适配: 由于移动设备的尺寸不一,所以移动端的页面要能够适应不同尺寸的设备,即页面的自适应,让页面在视觉上保持一致. rem:rem 是css3的一种相对单位,参考是根元素HMTL的fon ...
- 移动端常用单位——rem
移动端常用单位: ①px:像素大小,固定值 ②%:百分比 ③em(不常用,但是在首行缩进时可以使用):相对自身的font大小(当自身的字体大小也是em做单位时,才会以父元素的字体大小为基准单位) ④r ...
- 移动端适配(rem单位定义方法)
注:移动端必须写: <meta name="viewport" content="width=device-width, user-scalable=no, ini ...
- 移动端Web适配单位rem的坑,oppo r9手机出现错位bug
我们做了一个抽奖的H5活动页面,被一个oppo R9手机客户反馈,抽奖的转盘错位了.刷新了好几次都不行.网上百度一搜真的有部分安卓手机有坑.赶紧修复bug.分享完整的rem.js代码出来.各位看官自己 ...
- 移动端适配方案-rem(基础篇)
常见移动web适配方案一般有3种方法,如下图: ①:定高,宽度百分比(一般用来做一些适配性不高的页面,比如主要以一些文字和图片为主的网页或移动端的头部和底部) ②:flex (更多的用于复杂页面的布局 ...
- 简单介绍移动端CSS3单位rem的用法
PC端大部份是用px单位,小部分用em单位,而移动端,请全部用rem单位吧.目前大部份设备,包括但不限于iOS 5+.Android 2.3+.Window Phone 8+都是可以兼容的,具体兼容表 ...
- 小tips:使用rem+vw实现简单的移动端适配
首先设置meta属性,如下代码: <meta name="viewport" content="width=device-width, initial-scale= ...
随机推荐
- GraphQL基础篇
最近参与了一个大型项目,大型项目随着系统业务量的增大,不同的应用和系统共同使用着许多的服务接口API,而随着业务的变化和发展,不同的应用对相同资源的不同使用方法最终会导致需要维护的服务API数量呈现爆 ...
- 数据库学习(MySQL):JDBC的简单增删改查实现
本文为原创,转载请注明出处: https://www.cnblogs.com/Tom-shushu/p/9171896.html 这里我们先在数据库建立一个userinfo表: CREATE TABL ...
- 【CSS学习】--- 字体样式
一.前言 CSS字体属性可以定义文本的字体系列.大小.加粗.颜色.风格(如斜体)和变形(如小型大写字母). CSS的字体属性: font-family 设置字体系列 font-size 设置字体的尺寸 ...
- .net工作流引擎ccflow新增支持PostgreSQL数据库的功能的发布说明
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 各位驰骋工作流引擎爱好着,经过驰骋公司与正元公司的共同努力,ccflow支持Post ...
- 使用 phpstudy 搭建本地测试环境
最近在为另一个部门配置一个多语言的网站,因为之前他们已经做过 英文和中文两种语言,这次帮他们添加其它几种语言,从GitLab 上拉下来的代码,是php环境做的,需要在本地跑起来,做完测试通过后再一次性 ...
- RobotFramework第二篇之web自动化
(1)安装seleniumLibrary库: pip install --upgrade --pre robotframework-seleniumlibrary 使用第三方库关键字: (1)sett ...
- 基于CAS在.NET中实现SSO单点登录
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 单点登录原理 ...
- top命令用法详解
top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具.通过top命令所提供的互动式界面,用热键可以管理. 语法 top(选项) 选项 -b:以批处理模式 ...
- CSAPP:第十二章 并发编程
CSAPP:第十二章 并发编程 12.1 线程执行模型12.2 多线程之间并发通信12.3 其他并发问题 使用应用级并发的应用程序称为并发程序.现代操作系统提供三种基本的构造并发程序的方法: 进程 ...
- 二。Hibernate 查询 HQL、SQL方式
hibernate的查询1.HQL方式:所有查询都是根据java对象名来完成,对象名替换表名2.SQL方式:保留原来的sql查询风格3.可以通过设置第一条和最大条数来实现各种数据库的分页查询4.通过B ...