2023-10-03 00:27:43 | 我爱编程网
<meta charset="utf-8">
@(概述)[基本概念|百分比|rem|vw/vh|响应式设计]
移动端web页面的开发,由于手机 屏幕尺寸 、 分辨率 不同,或者需要考虑 横竖屏 问题,为了使得web页面在不同移动设备上具有相适应的展示效果,需要在开发过程中使用合理的适配方案来解决这个问题。
早期网页设计采用 静态布局 ,通过 <meta> 标签中的 applicable-device 应用设备标识识别移动设备,即 <meta name = 'applicable-device' content = 'mobile'> ,在 <meta> 标签中的 viewport 标签中设置 width ,通过 js 动态修改标签的 initial-scale 使得页面等比缩放,刚好占满整个屏幕。一些文章中有提到静态布局中页面各个元素采用 px 为单位,这种方案实现简单,不存在兼容性问题,但用户体验很不友好。
后面出现 流式布局 ,使用百分比 % 定义宽度,高度使用 px 固定,根据可视区域大小实时进行尺寸调整,通常使用 max-width/min-width 控制尺寸范围过大或者过小。这种方案实现比较简单,但在大屏手机或横竖屏切换场景下可能会导致页面元素被拉伸变形,字体大小无法随屏幕大小发生变化。
顺应不同页面字体大小展现问题,出现了 弹性布局 。这种布局方案下,包裹文字的元素的尺寸采用 em/rem 为单位,页面主要划分区域的尺寸依据情况使用 px 、百分数或者 em/rem 。如一些高校的网站 jlu ,页面的主要划分区域使用 px 和百分比,包裹文字的元素和文字采用 em 。
上面的这几种方案下,页面元素的大小按照屏幕分辨率进行适配调整,但是整体布局不变,对于 响应式web设计 ,网页布局会随着访问它的视口及设备的不同呈现不同的样式,在实现上可能会以上多种方案的结合,同时搭配 媒体查询 技术使用,使得一个页面在多个终端 (PC, mobile, pad) 呈现满意效果,如 mashable 。
[TOC]
像素,是屏幕上显示数据的最基本的点,表示相对大小。不同分辨率下相同长度的 px 元素显示会不一样,是因为像素点的个数相同情况下,不同分辨率下每个像素点对应的像素宽度不同。比如同样是 14px 大小的字,在 1366×768 显示屏下会显示的小,在 1024×768 显示屏下会相对大。也称为 物理像素(设备像素 ),是分辨率的尺寸单位。
印刷行业常用单位,能够使用测量设备测得的长度,等于 1/72 英寸。
在不同屏幕上, css 像素呈现的物理尺寸一致,但 css 像素对应的物理像素具数不同。标准的显示密度下, 1 个 css 像素对应一个物理像素,缩放时, 1 个 css 像素对应的物理像素会减增。是一种 设备独立像素(device independent pixels: DIPs)
像素密度,每英寸所拥有的像素数。值越高,显示画面细节越丰富。计算公式为:[图片上传失败...(image-245547-1621406560980)]
,其中 [图片上传失败...(image-2b7617-1621406560980)]
和 [图片上传失败...(image-f0525f-1621406560980)]
是分辨率的宽高,[图片上传失败...(image-2b6254-1621406560980)]
是屏幕尺寸。
打印设备每英寸印刷出来的点有多少个,值越高,图片越细腻。
设备物理像素和设备独立像素比 ,即[图片上传失败...(image-6bbc3c-1621406560980)]
是指在理想布局宽度,使用多少个物理像素来渲染一个css像素。js中通过 window.devicePixelRatio 获取,css中通过 -webkit-device-pixel-ratio , -webkit-min-device-pixel-ratio , -webkit-max-device-pixel-ratio 进行媒体查询。
<meta> 标签中定义了一些元数据信息,通过设置 <meta name = "viewport"> ,提供有关 视口初始大小 的信息,供 移动设备 使用。属性值为
移动端涉及 布局视口 (Layout Viewport)、 视觉视口 (Visual ViewPort)和 理想视口 (Ideal ViewPort)。
与移动端web页面适配有关的手机屏幕特性包括
硬件所支持的,屏幕每行的像素 * 每列的像素点数,单位是 px 。 我爱编程网
设备独立的,软件可以达到的,个人理解是使得软件/页面在不同屏幕上显示出来的效果一致。
像素分辨率 ÷ 逻辑分辨率等于 倍率 ,如 @3x 表示分辨率的 3 倍。一个已知物理像素大小的元素,如果在普通屏中其设备像素等于 css 像素,但在一些高清屏中,如 Retina 显示屏,一个css像素对应 2 或 3 个设备像素,这时显示出来的元素会变小。为了让元素如期待显示,需要传入 原始设计稿尺寸 × 倍率 的设计稿,根据 DPR 的定义,这样加载后能够达到同样的效果。
手机屏幕对角线长度换算成英寸的大小
贴上 源码 分析
视口 是浏览器中用于呈现网页的区域,移动端的视口通常指的是 布局视口
使用 css 预处理器把设计稿尺寸转换为 vw 单位,包括 文本 , 布局高宽 , 间距 等,使得这些元素能够随视口大小自适应调整。以 1080px 设计稿为基准,转化的计算表示为
响应式设计 使得一个网站同时适配 多种设备 和 多个屏幕 ,让网站的布局和功能随用户的使用环境(屏幕大小、输出方式、设备/浏览器能力而变化),使其视觉合理,交互方式符合习惯。如使得内容区块可伸缩与自由排布,边距适应页面尺寸,图片适应比例变化,能够自动隐藏/部分显示内容,能自动折叠导航和菜单。
移动前端开发和Web前端开发的区别是什么移动前端开发和Web前端开发的区别是:移动端前端开发是做手机网页的前端开发Web前端开发是桌面网页的前端开发服务器端开发,也叫后台开发,这是唯一的,对应不同的平台,他负责数据的分发与存储,和一些逻辑的处理,逻辑处理的多少由业务的复杂程度决定服务端相对独立,与平台没啥关系上述中不同的平台指web平台、移动设备平台等,移动设备又可
移动前端开发和web前端开发区别移动前端开发和web前端开发都属于前端开发,具体有以下区别。1、业务的应用场景web前端开发主要指传统的PC端网页开发,页面主要是运行在PC端浏览器中,移动前端开发出来的页面主要是运行在手机上。直观上会感觉,PC端页面大一些,移动端页面小一些,但是根据开发经验,页面大可并不代表书写的代码复杂,页面小也并不意味着开发简单,难与易主要还是取决于
web前端开发的就业方向有哪些?前端是产品和软件开发的重要环节,而目前前端开发主要采用的就是HTML5作为核心技术。甚至包括小程序、移动开发等领域的发展。前端开发从业者获得了更多的机会。那从事web前端的开发人员或者正在学习web前端的学生,前端未来的就业方向是什么呢?1、web前端工程师这个方向是目前从事web前端开发的主要就业方向。而随着企业的发展以及大量的人才涌入前端行业
移动前端开发和Web前端开发的区别是什么一、方式不同:前端开发主要是研究用户可以看到的前端显示界面。后端开发主要集中在逻辑功能等模块上,用户看不到的这些模块。二、技术不同:前端开发的技术主要包括但不限于html5、css3、javascript、jquery、Bootstrap等技术。而后端开发是以java为例的,主要用到的技术包括但不限于Strutsspringspri
移动前端开发和Web前端开发的区别是什么1、要弄清区别,首先要知道前端和后端的概念:1)Web前端:顾名思义是来做Web的前端的。这里所说的前端泛指Web前端,也就是在Web应用中用户可以看得见碰得着的东西。包括Web页面的结构、Web的外观视觉表现以及Web层面的交互实现。2)Web后端:后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、
移动前端开发和Web前端开发的区别是什么移动前端开发和Web前端开发的区别是:1、前端是相对比较大的概念,一般是指用户能够看到、直接接触的界面都算是前端,比如iOS界面,安卓界面,网页界面,PC/Mac桌面软件的界面。最常见的是Web前端,也就是针对于网页端开发的工作。2、WebApp即Webapplication,也就是以浏览器作为客户端的软件。例如,用桌面客户端来收发邮件,但也
移动前端开发和web前端开发的区别?移动前端开发和web前端开发的区别具体如下。学习前端开发,推荐千锋教育,以初心至善,匠心育人为企业价值观,以草根精神、创业精神、协同精神、奉献精神为企业精神,值得选择。移动前端开发和web前端开发的区别为:1、新技术的使用。目前移动终端主要以Webkit内核为中心,更好地支持HTML5等新技术,让新技术得到更广泛的应用。但是PC终端的开发需要兼容
移动前端开发和Web前端开发前端是个很大的概念,我的理解是用户能够看到,直接接触到的层面都算是前端,比如IOS客户端界面,安卓客户端界面,网页界面,甚至PC/MAC桌面端软件界面;现在最常见的说法一般是指Web前端,有PC端的就是浏览器打开的网页htmljscss,也有针对于手机网页开发的工作。移动平台前端开发是指针对高端智能手机(如Iphone、Android)做站点适配也就
2023-10-08 16:59:01
2023-06-27 20:13:22
2023-10-20 13:06:58
2023-10-20 12:58:57
2023-10-20 12:49:14
2023-10-20 12:46:38