px:像素,相对长度单位,相对于显示器屏幕的分辨率而言(其实我个人认为可以理解为固定单位);
rem:这是个web前端中的新成员,是css3中新增的一个相对单位。相对的只是html根元素;
1、设定两个盒子(举例)
<!-- 指定两个盒子 -->
<div class="box1"></div>
<div class="box2"></div>
2、简单设定样式(px形式)
/* 分别以 px 为单位为两个设置两个简单样式 */
.box1 {
width: 50px;
height: 100px;
background-color: chartreuse;
}
.box2 {
width: 200px;
height: 125px;
background-color: aqua;
}
3、简单设定样式(px转rem形式)
/* 指定相对根元素的相对值
* 一般css样式初始化时候指定
* 值的指定一般是 50px 或 100px
* 原因:便于计算
* 计算公式:px / 相对值 = rem
*/
html {
/* 我这里指定 100px */
font-size: 100px
}
.box1 {
width: .5rem;
height: 1rem;
background-color: chartreuse;
}
.box2 {
width: 2rem;
height: 1.25rem;
background-color: aqua;
}
4、两种形式显示基本一样
在移动端web开发过程中,如果你对边框设置border:1px,会发现,边框在某些手机机型上面显示的1px比实际感觉会变粗,这也就是1像素问题。如下图是对桌面浏览器和移动端border设置1px的比较。那么是什么导致这种原因的呢?
我们在开发移动端web项目时经常遇到设置border:1px,但是显示的边框却为2px或是3px粗细,这是因为设备像素比devicePixelRatio为2或3引起的。
使用CSS 绘制出 1px 的边框,在移动端上渲染的效果会出现不同,部分手机发现1px 线条变胖了,这篇文章整理2种方式实现1px 像素线条。1、利用box-shadow + transform;2、利用border + 伪元素 + transform
前些日子总被人问起 iOS Retina 屏,设置 1px 边框,实际显示 2px,如何解决?原来一直没在意,源于自己根本不是像素眼……今天仔细瞅了瞅原生实现的边框和CSS设置的边框,确实差距不小……
获取设备信息时得到的窗口高度宽度是px为单位的。 在实际使用时,一般使用rpx ,中间要有个转换过程
最近在写移动端 H5 应用,遇到一个值得记录下来的点。现在从它的由来到实现,我们来聊一下移动端 1px,说 1px 不够准确,应该说成 1 物理像素。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!