美文网首页
前端适配

前端适配

作者: luuuuuuuuuuuuu | 来源:发表于2021-01-18 23:14 被阅读0次

一.相关概念
参考https://www.cnblogs.com/zaoa/p/8630393.html

1.像素
像素就是构成图像的最小单位,指显示屏上的最小单位, 图像由像素组成,单位面积内的像素越多 效果就越好 像素的大小不是绝对的,是根据设备的分辨率决定的
2.分辨率
屏幕分辨率 : 屏幕横向和纵向的像素点数,单位为px

相同大小的屏幕 分辨率越低,单位像素尺寸越大,分辨率越高,单位像素尺寸越小

图像分辨率 : 指图片含有的像素数 , 表示图片分别在垂直和水平上所具有的像素点数

同一尺寸的图片,分辨率越高,图片越清晰。

3.像素密度(PPI)
每英寸包括的像素数

PPI可以用于描述屏幕的清晰度以及一张图片的质量,PPI越高,屏幕越清晰。

4.设备物理像素 (物理分辨率)
设备的真实分辨率 屏幕有多少个像素点 就是多少分辨率
5.设备独立像素dips (逻辑分辨率)
一种单位来告诉不同分辨率的手机,它们在界面上显示元素的大小是多少 即设备几个像素当成一个像素使用

以iphone6为例, dips为375* 667 即是2*2个物理像素当做一个设备独立像素
各种设备,手机,平板,笔记本等逻辑像素
手机:逻辑像素在3xx-4xx(短边)之间
平板:10寸平板7xx-8xx(短边)
笔记本:13寸 1280 (长边)
24寸显示屏:1920(长边)

6.设备像素比dpr

物理像素比设备独立像素的比值
css中的像素只是一个抽象的单位,在不同的设备或不同的环境中,css中的1px所代表的设备物理像素是不同的,1px并不是绝对的,它只代表了当前设备像素的最小单位.
在pc端 1px等于一个设备的物理像素,但是移动设备的屏幕像素密度越来越高 ,iphone6上一个css像素是等于两个物理像素,通过dpr,我们可以知道该设备上一个css像素代表多少个物理像素
获取dpr:
js:
window.devicePixelRatio
css:
webkit-min-device-pixel-ratio

7.css像素
CSS像素,当页面缩放比例为100%时,一个CSS像素等于一个设备独立像素。
但是CSS像素是很容易被改变的,当用户对浏览器进行了放大,CSS像素会被放大,这时一个CSS像素会跨越更多的物理像素。
页面的缩放系数 = CSS像素 / 设备独立像素。

8.视口(layout viewport)
布局视口:当前浏览器的可视区域,不包括菜单栏及浏览器的ui不包含滚动条等
在PC端上,设置viewport不生效,布局视口永远等于浏览器窗口的宽度。
在移动端上,由于要使为PC端浏览器设计的网站能够完全显示在移动端的小屏幕里 布局视口默认是980px,会出现滚动条

//获取视口宽度
document.documentElement.clientWidth / Height
//移动端获取视口宽度适配
<meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=1; minimum-scale=1; user-scalable=no;">

meta标签的作用是让当前视口的宽度等于设备的宽度,同时不允许用户手动缩放

二.常见的布局方案

  • 媒体查询
  • 百分比
  • flex

flex-direction: row | row-reverse | column | column-reverse;
flex-wrap: nowrap | wrap | wrap-reverse;
flex-flow: flex-direction | flex-wrap;
justify-content: flex-start | flex-end | center | space-between | space-around;
align-items: flex-start | flex-end | center | baseline | stretch;
align-content: flex-start | flex-end | center | space-between | space-around | stretch;

  • rem/em

REM是CSS3新增的单位,并且移动端的支持度很高,Android2.x+,ios5+都支持。rem单位都是相对于根元素html的font-size来决定大小的,根元素的font-size相当于提供了一个基准,当页面的size发生变化时,只需要改变font-size的值,那么以rem为固定单位的元素的大小也会发生响应的变化。 因此,如果通过rem来实现响应式的布局,只需要根据视图容器的大小,动态的改变font-size即可(而em是相对于父元素的)。

  • vw/vh

vh、vw 方案即将视觉视口宽度 window.innerWidth 和视觉视口高度 window.innerHeight 等分为 100 份
vw也是一个相对单位,它相对的是布局视口,1vw就是1%的布局视口宽度。还是熟悉的iPhone6标准设计图,宽750px。那么1vw = 1%视口宽度的话,按设计图来说就是100vw = 750px,则1vw = 7.5px。

三.移动端适配

  • px+各种布局(百分比 媒体查询等)
  • 在 head 设置 width=device-width 的 viewport
  • 在 css 中使用 px
  • 在适当的场景使用 flex 布局,或者配合 vw 进行自适应
  • 在跨设备类型的时候使用媒体查询

相关文章

  • 前端移动端适配总结

    前端移动端适配总结

  • Java设置Session

    设置Session 获取Session 前端适配

  • 前端适配

    什么是适配 chrome 最小字体:12px,默认字体:16px rem 单位:参照于根元素 html 的 fon...

  • 前端适配

    一.相关概念参考https://www.cnblogs.com/zaoa/p/8630393.html[https...

  • iPhone X适配通用方案

    iPhone X H5 适配通用方案 说明 iPhone X 适配理论上需要在 UI 预先适配的基础上再做前端页面...

  • window缩放150%前端适配

    笔记本缩放125% 150% ...以及 Retina屏前端适配

  • 最佳文件上传组件 —— filepond

    这个组件为前端提供了vue适配 vue-filepond,为后端提供了Django适配 django-drf-f...

  • 移动端适配方案

    移动端众多的手机型号使得前端开发起来 难度很大。所以,为了统一众多机型的适配,前端不得不采取大而全的方案去适配大多...

  • 【Android 基础】 BaseAdapter

    Adapter :适配器 链接后端数据与前端显示适配接口,是数据(data)与UI(View)之间一个重要纽带,常...

  • 前端适配问题

    文章序 适配问题一直是前端开发中很重要的一个问题,可以说是最影响用户体验的问题之一,本文整理前端适配的相关方法,持...

网友评论

      本文标题:前端适配

      本文链接:https://www.haomeiwen.com/subject/umhhzktx.html