px,em,rem,vw单位在网页和移动端的应用

px:

是网页设计中最常用的单位,然而1px到底是多大长,恐怕没有人能回答上来

它用来表示屏幕设备物理上能显示的最小的一个点,这个点不是固定宽度的,不同设备上点的长度、比例有可能会不同。

假设:你现在用的显示器上1px宽=1毫米,但我用的显示器1px宽=两毫米,那么你定义一个div宽度为100px,你显示器上看这个div是10厘米,我显示器上看是20厘米。另外一个px点的长度不一定是1:1的正方形,有的设备上长度比是不一样的。

更多px信息点此博客。 px的兼容性:需要注意的是谷歌浏览器最小可以识别12px大小的字体,更多解决方案可以参看文档

 

em:

相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(引自CSS2.0手册)

任意浏览器的默认字体高都是16px

所有未经调整的浏览器都符合: 1em=16px。此时1.25em=16px*1.25=20px;

如果人为的把body里面定义font-size:12px; 此刻1em=12px,1.25em=12px*1.25=15px;

如果我们把body设置font-size:62.5%,即16px*62.5%=10px,此时1em=10px,1.25em=12.5px;

这样更好的有利于我们计算,将原来的px数值除以10,然后换上em单位即可,em可以兼容多浏览器

em特征:1、em值并不固定;2、em会继承父级元素的字体大小。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>font</title><style type="text/css">body{ font-size: 16px;}div{ font-size: 1.25em;}div p{ font-size: 1.25em}</style>
</head>
<body><div>这里面字体20px;<p>这里面的字体大小25px</p></div>        
</body>
</html>

这里可以看出em的继承特性,同样设置1.25em,div里的字体按照16px*1.25=20px; p里面的字体按照20px*1.25=25px;单位一致,显示不同大小;

这里是个em的换算工具 

 

rem:

rem是CSS3新增的一个相对单位(root em,根em),这个单位引起了广泛关注。这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小,rem的兼容性和em一样

 

VW:

vw是可视区宽度单位。1vw等于可视区宽度的百分之一。

100vw=相对于视窗宽度

100vh=相对于视窗高度

vm:相对于视窗的宽度或高度,取决于哪个更小; vmin:vw和vh中较小的那个;vmax:vw和vh中较大的那个

vw单位跟百分比很相似,不同的是vw的值对所有的元素都一样,与他们父元素或父元素的宽度无关。有点像rem单位那样总是相对于根元素。

vw的兼容性现代浏览器都支持,但古董浏览器还是说下

转载于:https://www.cnblogs.com/yangjie-space/p/4817738.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C和指针之函数递归实现把amount表示的值转换为单词形式written_amount(unsigned int amount,char *buffer)

1、题目 编写函数 void written_amount(unsigned int amount,char *buffer); 它把amount表示的值转换为单词形式,并储存于buffer中。这个函数可以在一个打印支票的程序中使用。例如,如果amount的值是16312,那么buffer中存储的字符串应该是 SIXTEEN THOUSAND THREE HUNDR…

cs-Panination

ylbtech-Unitity: cs-PaninationPager.cs IPagingOption.cs IPagedList.cs PagingOption.cs PagedList.cs PagingExtensions.cs 1.A,效果图返回顶部 1.B,源代码返回顶部1.B.1,Pager.cs using System; using System.Collections.Generic; using System.Linq; using System.Text…

SignalR的使用

什么是 SignalR&#xff1f;ASP.NET Core SignalR 是一个开放源代码库&#xff0c;可用于简化向应用添加实时 Web 功能。实时 Web 功能使服务器端代码能够将内容推送到客户端。适合 SignalR 的候选项&#xff1a;需要从服务器进行高频率更新的应用。示例包括游戏、社交网络、投…

NHibernate之旅(7):初探NHibernate中的并发控制

本节内容 什么是并发控制&#xff1f; 悲观并发控制(Pessimistic Concurrency)乐观并发控制(Optimistic Concurrency)NHibernate支持乐观并发控制实例分析结语什么是并发控制&#xff1f; 当很多人试图同一时候改动数据库中的数据时&#xff0c;必须实现一个控制系统&#xff0…

C和指针之数组名和数组名和首元素以及sizeof(数组名)和sizeof(数组名作为参数)区别

1、先看我的测试Demo #include <stdio.h> #include <stdlib.h>int get_size(int *p) {int size = sizeof(p);return size; }int main() {int a[6] = {1, 2, 3, 4, 5, 6};int b[] = {1, 2, 3, 4, 5, 6};int c[10] = {1, 2, 3, 4, 5, 6};int size_a = sizeof(a);int …

html常用标签(form标签)

一、form标签 form标签是html标签中非常重要的一个标签。常用于注册、登录页面的使用。 <form action"提交地址" method"提交方式"> </form> 注&#xff1a;method的值有两个。get&#xff08;默认值&#xff09;和post。get数据安全性没有pos…

期望DP

期望DP的一般做法是从末状态開始递推&#xff1a; Problem DescriptionAkemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl).Homura wants to help her friend Madoka save the world. But because of the plot of the Boss Incubator, she is trapped in a labyrinth …

神奇的[Caller*]属性

前言上次&#xff0c;我们《使用 CallerArgumentExpression 检查弃元参数》&#xff0c;它实际是利用编译器编译时将变量名称传入。其实&#xff0c;.NET中提供了多个[Caller*]属性&#xff0c;帮助我们轻松获取调用者信息。CallerFilePathAttribute允许获取包含调用方的源文件…

eshop截取字符串长度 和去掉省略号

<!-- {if $goods.goods_brief} --> {$goods.goods_brief|truncate:17}<!-- {/if} --> 去掉省略号&#xff1a; 找到includes/lib_base.php 第63行 $newstr . ... 去掉... 即可转载于:https://www.cnblogs.com/wesky/p/4819319.html

C和指针之字符串之实现strcpy函数

1、问题 实现strcpy函数2、代码实现 #include <stdio.h> #include <assert.h> char *str_copy(char *des, const char *src) {assert(src ! NULL);assert(des ! NULL);while ((*des *src) ! \0);return des; } int main() {const char *src "chenyu";c…

java dateTime + long

2019独角兽企业重金招聘Python工程师标准>>> public static void main(String[] args) throws Exception{SimpleDateFormat sdfnew SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // long timeStartsdf.parse("2011-09-20 12:30:45").getTime();l…

IOS 开发环境,证书和授权文件是什么?

一、成员介绍 1. Certification(证书) 证书是对电脑开发资格的认证&#xff0c;每个开发者帐号有一套&#xff0c;分为两种&#xff1a; 1) Developer Certification(开发证书) 安装在电脑上提供权限&#xff1a;开发人员通过设备进行真机测试。 可以生成副本供多台电脑安…

.NET Core中异常过滤器ExceptionFilter的使用介绍

介绍实现需要继承IExceptionFilter 或 IAsyncExceptionFilter。可用于实现常见的错误处理策略。使用场景首先讲一下我们为什么要使用异常过滤器 &#xff0c;如果业务场景复杂&#xff0c;只使用HttpStatusCode&#xff0c;抛出异常后,后期要加很多字段来描述。那么这种就比较不…

程序一启动检查网络,如果没有网络就退出程序

转载于:https://www.cnblogs.com/songxing10000/p/4823812.html

C和指针之多维数组一行存满后会轮到下一行

1、问题 比如二位数组名赋值给一个指针&#xff0c;指针在递增&#xff0c;超过这个行的最后一列后会得到怎么样结果。2、代码举例 #include <stdio.h>int main() {int a[3][3] {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};int *p NULL;p &a[1][1];printf("first val…

看小说的这些年

从大一开始&#xff0c;就开始看起了小说&#xff0c;不是那种名著类型&#xff0c;而是快餐小说&#xff0c;玄幻、都市、言情、科幻&#xff0c;什么都会看&#xff0c;因为看多了&#xff0c;就会发现&#xff0c;已经没什么可以看的。 谈起快餐小说&#xff0c;已经有很多被…

如何使用 .NET Core 安全地加/解密文件

前言由于客户网络安全限制&#xff0c;连接到互联网的设备不能访问内网。需要先从客户端应用中导出数据到文件&#xff0c;再将文件复制到U盘&#xff0c;最后通过内网机器上传数据。如何保证&#xff0c;在复制、传输过程中&#xff0c;文件的安全性&#xff1f;思路首先想到的…

使用Css截取字符串

white-space:nowrap; /* 禁止自动换行 */ overflow:hidden; /* 隐藏溢出的内容 */ text-overflow:ellipsis; /* 溢出文本使用...代替 */ 转载于:https://www.cnblogs.com/xiaoxian1369/p/4083974.html

广度优先算法BFS

package myalgorithm;import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; /*BFS用于记录的位置和值的结构*/ class node {node(int xparam,int yparam,int valparam){this.x xparam;this.y yparam;this.value valparam;}int x,y,value; } publ…

COMA(一): Learning to Communicate with Deep Multi-Agent Reinforcement Learning 论文讲解

Learning to Communicate with Deep Multi-Agent Reinforcement Learning 论文讲解 论文链接&#xff1a;https://papers.nips.cc/paper/6042-learning-to-communicate-with-deep-multi-agent-reinforcement-learning.pdf &#xff08;这篇论文是COMA三部曲中的第&#xff08…