Dpr:

  Dpr的全称(Device pixel ratio)像素设备比例:就是说每个设备像素上占有的css位像素的个数

  苹果手机常见的设备像素比:1.0安卓 iPhone2.0  3.0

  如果是1.0 设计稿的宽度是多少,我们就写多少,如果是2.0 我们所写的宽高,字体,等等都要是设计稿的一半(为了适配)

  ppi:是设备像素密度(设备每个单元格,所占有的像素的数目)密度越大,图片越高清;

  设备像素(物理像素)iPhone5以下,物理像素320,iPhone6 物理像素375 iPhone plus系列 414   安卓:物理像素 320    360    480居多

  css像素(位像素/逻辑像素/pad文件上的像素)

  情景分析:写一张轮播,width320px  在1.0下 设计师就要提供320px的就可以了,但如果在2.0下,就需要一个640的图片;

  物理像素:

    设备屏幕上的最小显示单元(电子);

  逻辑像素:

    可以计算的,看到的屏幕的宽度,iPhone4的物理像素640(硬件设备) iPhone4的逻辑像素320,我们能看到的设备像素比  dpr=物理像素/逻辑像素

  设备独立像素:

    就是设备屏幕的宽度;

  物理像素及设备独立像素的画图解析:

  

  逻辑像素的分析图:

  

  dpr的查看:

    我们也可以通过is中window.devicePixelRatio  获取当前设备的像素比      一定是(移动端)

    

  在实际开发中,设计者为了页面的高清,采用物理像素的值进行设计:  常见的设计稿:640x960  640x1136  750x1134;

   物理像素值:逻辑像素乘以dpr

  如果物理像素是640x1136 ,设计稿的图片320 x   450 怎么解决?

    web开发者在开发过程中,除了最外层采用流式布局/弹性布局,里面的宽高,字体大小等;

  为什么这样做?

    设计图100x100     苹果手机200x200进行渲染,最后有被拉伸模糊效果;

  如果非要320x200尺寸做,遇到图片不清,要么要160x100,要么640x400;  如果是720就需要我们使用@media进行微调;

  @media可以进行等级划分;

  图片分位图和矢量图;

    位图:jpg  png  gif

    矢量图:.svg

  位图和矢量图的区别?

    位图:缩放会影响清晰度;

    矢量图:缩放不会影响清晰度;

  h5,开发为了减少工作量,我们通通要一张最大的图片

  弹性布局

    display属性:flex指定父元素为弹性盒模型,内部元素按行排列

    flex属性:设置弹性盒的子元素如何分配空间,属性值是数字    例:flex:1;

    flex-direction属性:指定弹性盒子中的子元素的排列方式;属性值:row(左到右) row-reserve(右到左)  column(上到下) column-reserve(下到上)

    justify-content属性:指定弹性盒子子元素在x轴对齐方式; 属性值:center(居中) flex-start(左对齐) flex-end(右对齐) space-between(两边不留空隙)    space-around(两边留空袭)

    align-items:指定弹性盒子,子元素在y轴上的对齐方式   属性值:center(居中)

    flex-wrap:设置子元素,超出父元素换行不换行

    order:排列      属性值:数字;  默认值:0  负数向前排列,正数向后排列;

  另一种弹性布局方式:(仅供了解)

    弹性父级:display:table  表格

    弹性子元素:display:table-cell  单元格

  

  

Dpr ppi 适配 等概念 弹性属性的讲解的更多相关文章

  1. 第1章 RDD概念 弹性分布式数据集

    第1章 RDD概念  弹性分布式数据集 1.1 RDD为什么会产生 RDD是Spark的基石,是实现Spark数据处理的核心抽象.那么RDD为什么会产生呢? Hadoop的MapReduce是一种基于 ...

  2. dpr,ppi,dip,viewport的一些概念

    一 ppi,dpr,dip,分辨率,屏幕尺寸,设备物理像素,设备独立像素 分辨率:1920px*1080px 在这个设备上纵向上有 1920个像素点(色块)... 屏幕尺寸:5英寸(in) = 5*2 ...

  3. JavaScript之面向对象的概念,对象属性和对象属性的特性简介

    一.大家都知道,面向对象语言有一个标志,那就是他们都有类的概念,通过类我们可以创建任意多个具有相同属性和方法的对象.但ECMAScript(指定JavaScript标准的机构,也就是说JavaScri ...

  4. Yii2基本概念之——属性(property)

    学习任何一门学问,往往都是从起基本的概念学起.万丈高楼平地起,这些基本概念就是高楼的基石,必须做详尽的分析.我们知道,Yii2是一款脉络清晰的框架,理顺了基础的概念和基本功能,学习更高级和复杂的功能就 ...

  5. JS---DOM---节点的概念,属性,和获取相关的节点

    回顾概念 文档: document 元素: 页面中所有的标签, 元素---element,  标签----元素---对象 节点: 页面中所有的内容(标签,属性,文本(文字,换行,空格,回车))---- ...

  6. Delphi Treeview 用法(概念、属性、添加编辑插入节点、定位节点、拖拽等)

    今天再细研究了一下Treeview的用法,网上虽然总结了很多,但是还是有很多节点没有讲到了,也给使用中遇到很多问题.特地总结一下: 1.概念 Treeview用于显示按照树形结构进行组织的数据.Tre ...

  7. js面向对象(一)---基本的概念、属性、方法

    一.什么是面向对象编程 1.用对象的思想去写代码,就是面向对象编程 2.我们一直在使用对象,如数组Array    时间Date //我们把系统自带的对象,叫做系统对象 var arr = new A ...

  8. iOS13适配/黑暗模式的适配/KVC访问私有属性/模态弹窗ViewController 默认样式改变 /LaunchImage即将废弃/蓝牙的权限申请/推送Device Token适配/UIKit 控件变化/StatusBar新增样式

    目录 1. KVC访问私有属性 2. 模态弹窗ViewController 默认样式改变 3. 黑暗模式的适配 4. LaunchImage即将废弃 5. 新增一直使用蓝牙的权限申请 6. Sign ...

  9. typescript接口的概念 以及属性类型接口

    /* 1.vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 2.第二步 任务 ...

随机推荐

  1. Bootstrap 学习笔记 项目实战 首页内容介绍 上

    效果图: HTML代码: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset ...

  2. JavaSE编码试题强化练习5

    1.不使用函数实现字符串的翻转 /** * 1.不使用函数实现字符串的翻转 */ public class TestStringReverse { public static void main(St ...

  3. Git-第二篇廖雪峰Git教程学习笔记(1)基本命令,版本回退

    1.安装Git-2.16.2-64-bit.exe后,设置用户名,用户邮箱 #--global参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地 ...

  4. RD Client、TeamViewer连接主机

    一.使用RD Client连接远程桌面 1.设置本地主机 2.查看电脑ip 3.手机安装RD Client 应用商店下载 Microsoft Remote Desktop PC name填入查询到的I ...

  5. [2019CCPC网络赛][hdu6704]K-th occurrence(后缀数组&&主席树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6704 题意为查询子串s[l...r]第k次出现的位置. 写完博客后5分钟的更新 写完博客才发现这份代码 ...

  6. BZOJ 1100 &&luogu 3454(计算几何+KMP)

    题面 给定一个多边形,求对称轴数量. 分析 初看这似乎是一道计算几何的题目,但是如果暴力枚举对称轴,再去判断对称轴两边的边和角是否相等,时间复杂度为\(O(n^2)\),显然会TLE 问题转换 顺时针 ...

  7. 微信公众号获取微信token

    微信在公众号和小程序的开发都有开放文档一般看文档开发就行,很简单这里写一个小demo获取微信token,之后根据自己的业务获取信息处理即可 package com.demo.ccx; import o ...

  8. XMLHttpRequest.setRequestHeader()

    在AJAX中,如果需要像 HTML 表单那样 POST 数据,需要使用 setRequestHeader() 方法来添加 HTTP 头. 然后在 send() 方法中规定需要希望发送的数据: setR ...

  9. SQLZOO 习题

    https://sqlzoo.net 8. 美國.印度和中國(USA, India, China)是人口又大,同時面積又大的國家.排除這些國家. 顯示以人口或面積為大國的國家,但不能同時兩者.顯示國家 ...

  10. 联想ideapad 310s如何进BIOS,换固态硬盘SSD,配置U盘启动,重装Win10系统

    1. 如何进BIOS 关机情况下,捅一下Novo键,即可进入BIOS 2. 安装固态硬盘 Ideadpad 310S 本身自带的硬盘是5400转的机械硬盘,容量小速度慢.换的新的固态硬盘是SATA接口 ...