在学习的过程当中,发现CSS有不少能够描述单位的尺寸。好比px
,em
,rem
,vw
等等。平时也没有深究,一来是没时间,二来是在我学习清单中优先级太低。一直想完全弄明白,一直耽搁到如今。如今花上一点时间来整理一下,完全弄懂它。css
好比有一个图片,细分,最小单位就是像素。也就是说,图片由许多的像素构成。像素是小方块,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。html
640x1136px
,表明屏幕由640行,1136列像素小方块组成。
为了理解像素和避免与CSS像素混淆,
能够将物理像素当作物理小方块。
好比iPhone5的像素是640X1136px,能够当作640*1136个小方块。
复制代码
也叫作解析度,解像度。能够从显示分辨率与图像分辨率两个方向来分类。前端
CSS像素的单位也叫作px。它是图像显示的基本单元,既不是一个肯定的物理量,也不是一个点或者小方块,而是一个抽象概念。因此在谈论像素时必定要清楚它的上下文!css3
ctrl +/-
能够扩大缩小屏幕,其实就是屏幕分辩率的调低/调高。ctrl +
屏幕放大,分辨率下降。em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸,浏览器字体默认为16px。git
1em = 16px * 62.5% = 10px
em
当作px
使用。固然此时,1em = 10px
font-size:20px
,那么在子容器里的1em
就等于20px
。rem单位是相对于字体大小的html元素,也称为根元素。github
html {
font-size: 10px; /* 不建议设置 font-size: 62.5%; 在 IE 9-11 上有误差,具体表现为 1rem = 9.93px。 */
}
.sqaure {
width: 5rem; /* 50px */
height: 5rem; /* 50px */
}
复制代码
<style>
html{ font-size: 20px; }
body{
font-size: 1.4rem; /* 1rem = 28px */
padding: 0.7rem; /* 0.7rem = 14px */
}
div{
padding: 1em; /* 1em = 28px */
}
span{
font-size:1rem; /* 1rem = 20px */
padding: 0.9em; /* 1em = 18px */
}
</style>
<html>
<body>
<div>
<span></span>
</div>
</body>
</html>
复制代码
上面的例子中,发现了一个有意思的状况。em 会层层继承父元素的字体大小
,很容易形成字体大小的混乱。因此之后用rem
会更好。小程序
rpx 是微信小程序解决自适应屏幕尺寸的尺寸单位。微信小程序规定屏幕的宽度为750rpx。微信小程序
不管是在iPhone6上面仍是其余机型上面都是750rpx的屏幕宽度,拿iPhone6来说,屏幕宽度为375px,把它分为750rpx后, 1rpx = 0.5px = 1物理像素。浏览器
vw
,视窗宽度,1vw=视窗宽度的1%vh
,视窗高度,1vh=视窗高度的1%.box {
height: 100vmax;
width: 100vmax;
}
复制代码
前端开发中像素的概念bash
CSS3中常见的单位 移动设备分辨率(终于弄懂了为何移动端设计稿老是640px和750px)
欢迎访问个人博客,会分享一些技术文章,一块儿学习前端。