移动端物理/css/位图像素概念以及rem布局的实现

这方面的知识一直一知半解。从前看过一些文章,也没有豁然开朗的感觉。今天看了这篇http://div.io/topic/1092感觉明白了一些,不论是否正确,先做记录,留待日后验证。

1. 物理像素、CSS像素与位图像素

物理像素是设备本身用于渲染画面的最小显示单元。我们平时买手机,比如iphone6或者华为看到的720 * 1080, 1080 * 1920其实都是物理像素。显然物理像素不等于PC前端开发所理解的屏幕宽度。

CSS像素是编程时使用的虚拟像素。我的理解是CSS像素是以屏幕宽度为基准的。

如果视觉设计师以720画布来设计,那么设计稿中所有的尺寸基于物理像素,也就是说应该与物理像素成正比。前端编写CSS代码时,CSS代码的值应该以屏幕尺寸为基准等比设置。对于原生dpr是2的屏幕,1css像素点要用4物理像素点来表示。retina屏下1px的边框,

其实设计师的初衷是1物理像素。可想而知对于程序员来说,应该要在css中实现0.5 CSS像素的边框,这就是为什么设计师总觉得dpr=2的屏幕上1px的线很粗。

位图像素是处理高清图片时用到的概念。当1物理像素可以表示1位图像素时,图片清晰。我们平时所说的x2倍的图,是基于css像素的。所以基于css像素长宽都放大两倍的图,在retina下面转换成物理像素就相当于1位图像素对应1物理像素,就会清晰。

2. rem布局

rem布局的方式是设置html font-size。基准值计算:document.documentElement.clientWidth * dpr / 10. 编写pxToRem函数。

布局的原则是:视觉稿尺寸/物理像素 = css像素值 / 屏幕宽度。 所以css像素值 = 视觉尺寸 / 真实dpr.

时间: 2024-11-10 14:37:32

移动端物理/css/位图像素概念以及rem布局的实现的相关文章

细说移动端 经典的REM布局 与 新秀VW布局

和以往一样,本次项目也放到了 Github 中,欢迎围观 star ~ 1. 前言 2. 基本概念 3. REM布局 4. VW布局 实现单边边框1px 实现多边边框1px 实现边框圆角 实现容器固定纵横比 5. REM + VW布局 6. 对比选择 方案选择 食用方式 一.前言 说到前端页面的布局方案,可以从远古时代的Table布局说起,然后来到 DIV+CSS布局,之后有了Float布局,Flex布局,Column布局,Grid布局等等. 而另一方面,还有一些 布局概念: 1. 静态布局 直

移动端rem布局背景图片使用以及sprite雪碧图

现在移动端页面用rem布局已经是一大流派了,成熟的框架如淘宝的flexiable.js,墨尘写的更轻量级的hotcss.用rem作单位使得元素能够自适应后,还有一块需要关注的,那就是背景图片. rem布局 所谓rem布局就是指为文档的根节点<html>元素设置一个基准字体大小,然后所有的元素尺寸都以rem为单位来写.比如将<html>的字体设为100px,如果需要做一个100*200的元素,css如是写: div{ width: 1rem; height: 2rem; } 那么最终

移动端与H5页面像素的差异与关系

最近工作任务主要是移动端内嵌H5页面,一次与原生进行像素交互下,发现了这个天坑,再次做个记录?? 天坑如下: H5页面中的“像素”与移动端设备的“像素”系统不一致,对于刚接触这块的我,曾经几时在还没有遇到过这样的情况下,去看相关的文章一点体会也没有,这次碰上了,然后又重新看了一遍,对这块的理解也能比较有感受了 先上总结:如果有不到位的,请告知修正:-P 理清几个概念 注意文中的英文表达,可以帮助我们更好的理解,因为同样的英文表达可以被翻译成不同的汉文,这会妨碍我们再查阅资料的时候混淆名词概念 物

位图像素

1个位图像素是栅格图像(如:png,jpg,gif等)最小的数据单元.每一个位图像素都包含这一些资深的现实信息(如:显示位置,颜色值,透明度等).也称物理像素. dips,(dip或dp或device independent pixels)指的是设备独立像素(也叫密度无关像素),可以认为是计算机坐标系统中得一个点,这个点代表一个可以由程序使用的虚拟像素(比如: css像素),然后由相关系统转换为物理像素. 话说回来,dips到底有什么用呢?dip可以用来辅助区分视网膜设备还是非视网膜设备.简单解

浅谈移动端的自适应问题——响应式、rem/em、利用Js动态实现移动端自适应

随着3G的普及,越来越多的人使用手机上网.移动设备正超过桌面设备,成为访问互联网的最常见终端.于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?本篇文章将讲述自适应网页设计的概念和方法,使网页开发人员维护同一个网页代码,即可使网站在多种设备上具有更好的阅读体验.本文详细介绍了自适应网页的实现方法,希望能给迷惑的你带来帮助. 一. 在HTML的头部加入meta标签 在HTML的头部,也就是head标签中增加meta标签,告诉浏览器网页宽度等于设备屏幕宽度,且不进行缩放,

第130天:移动端-rem布局

一.关于布局方案 当拿到设计师给的UI设计图,前端的首要任务就是布局和样式,相信这对于大部分前端工程师来说已经不是什么难题了.移动端的布局相对PC较为简单,关键在于对不同设备的适配.之前介绍了一篇关于移动端rem布局方案,这大致是网易H5的适配方案.不过实践中发现淘宝开源的可伸缩布局方案效果更好且更容易使用. 网易云的方案总结为:根据屏幕大小 / 750 = 所求字体 / 基准字体大小比值相等,动态调节html的font-size大小. 淘宝的方案总结为:根据设备设备像素比设置scale的值,保

移动端布局之路-----rem布局

rem基础 rem单位 rem (root em)是一个相对单位,类似于em,em是父元素字体大小. 不同的是rem的基准是相对于html元素的字体大小. 比如,根元素(html)设置font-size=12px; 非根元素设置width:2rem; 则换成px表示就是24px. /* 根html 为 12px */ html { font-size: 12px; } /* 此时 div 的字体大小就是 24px */ div { font-size: 2rem; } rem的优势:父元素文字大

移动端rem布局的学习(基于一个网易云播放页面的思考)

对于一个前端的初学者来说,首先要做好的事就是切页面了,切页面不得不说的就是布局了,布局的重要性不言而喻,为了良好的用户体验,提出了许多不一样的布局:响应式布局,弹性布局,流动布局等等,也流入出了许多的框架.最近在看关于移动端的响应式布局,其中涉及到比较多的就是大小属性的设置:px.vw.vh.%.em.rem等等,今天自己就捋一捋rem的用法. 说在前面 一想到写移动端的页面,就要考虑自己写的页面能够适应各种不同的移动设备,起初想想要做到感觉好难啊,最初想到的就是用第三方的框架,用别人写的东西应

一看就懂得移动端rem布局、rem如何换算

这里使用了js控制根元素的font-size大小,然后进行rem换算,在js代码后面会说明以下问题. 1.如何进行rem运算? 2.如果纯js控制根元素用rem布局会出现的小问题,如何解决? 3.如有欠缺的地方,大神们可以指出错误或者改进. function intiSize(){ //获取当前浏览器窗口宽度(这里的实质就是body宽度) var win_w=document.body.offsetWidth; //定义变量 var fontSize; if(win_w>640){ fontSi