首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【适配】425- 彻底搞懂移动Web开发中的viewport与跨屏适配

维基百科①的解释为: 在计算机图形学理论中,当将一些对象渲染到图像时,存在两个类似区域的相关概念。(视口和窗口) 视口是一个以特定于渲染设备的坐标表示的区域(通常为矩形)。...视口范围内的图像会以剪切的形式,投影到到世界坐标窗口中,完成图像的可视化展示。 在 Web 浏览器中,视口是整个文档的可见部分。如果文档大于视口,则用户可以通过滚动来移动视口。...白话描述一下: ●计算机把图像渲染到显示器的过程中,会先把图像画在一个逻辑层的画布上,然后从这个画布中框选一部分,将其投影到显示层。 ●这个选框就是视口,显示层就是窗口。...因为,浏览器窗口中所浏览图像的放大,是依赖于视口的缩小来实现的。 如果不好理解,可以参照下图动画来感受一下。(上面蓝框表示底层画布、红框表示视口,下面表示用户在浏览器窗口中看到的页面) ?...同理,当浏览器窗口比较小,而我们想要看到页面下面的内容时,我们需要向下滚动滚动条,浏览器在实现这个的过程中所依赖的,便是视口的下移。

3.1K30

彻底搞懂移动Web开发中的viewport与跨屏适配

维基百科①的解释为: 在计算机图形学理论中,当将一些对象渲染到图像时,存在两个类似区域的相关概念。(视口和窗口) 视口是一个以特定于渲染设备的坐标表示的区域(通常为矩形)。...视口范围内的图像会以剪切的形式,投影到到世界坐标窗口中,完成图像的可视化展示。 在 Web 浏览器中,视口是整个文档的可见部分。如果文档大于视口,则用户可以通过滚动来移动视口。...白话描述一下: ●计算机把图像渲染到显示器的过程中,会先把图像画在一个逻辑层的画布上,然后从这个画布中框选一部分,将其投影到显示层。 ●这个选框就是视口,显示层就是窗口。...因为,浏览器窗口中所浏览图像的放大,是依赖于视口的缩小来实现的。 如果不好理解,可以参照下图动画来感受一下。(上面蓝框表示底层画布、红框表示视口,下面表示用户在浏览器窗口中看到的页面) ?...同理,当浏览器窗口比较小,而我们想要看到页面下面的内容时,我们需要向下滚动滚动条,浏览器在实现这个的过程中所依赖的,便是视口的下移。

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Hello CSS】第三章-浏览器的视图与坐标

    每英寸像素(PPI) 每英寸像素(英语:Pixels Per Inch,缩写:PPI),又被称为像素密度,是一个表示打印图像或显示器单位面积上像素数量的指数。一般用于计量电子设备屏幕的精细程度。...在全屏模式下,viewport 是设备屏幕的范围,窗口是浏览器窗口,浏览器窗口大小小于或等于视口的大小,并且文档是这个网站,文档的大小可比 viewport 长或宽。...initial-scale 一个0.0 到 10.0之间的正数 定义设备宽度(纵向模式下的设备宽度或横向模式下的设备高度)与视口大小之间的缩放比率。...按百分比计算尺寸的时候,就是参照的初始视口(viewport)。初始视口指的是任何用户代理和样式对它进行修改之前的视口。桌面浏览器如果不是全屏模式的话,一般是基于窗口大小。...视觉视口大小变化时触发 onscroll: null, // 滚动视觉视口时触发。

    2.4K20

    什么是移动端开发【重点学习系列—干货十足–一万字详解】

    CSS 像素不能直接跟现实中的长度单位换算 CSS 像素主要用在 CSS 与 JS 中控制元素的大小 位图像素 位图像素也是一个长度单位。...矢量图,也称为面向对象的图像或绘图图像,在数学上定义为一系列由线连接的点。放大后不会失真。...== 位图像素 在一个标准的显示密度下(普通屏),一个 CSS 像素对应着一个设备像素,高清屏幕下一个 CSS 像素 等于 N 个物理像素 像素密度 屏幕上每英寸可以显示的像素点的数量,单位是 ppi...注意: 并不是所有的图片都这样处理,只需要处理那些页面布局需要的图片和图标即可 视口 PC 端 在 PC 端,视口指的是浏览器的可视区域。其宽度和浏览器窗口的宽度保持一致。...在 CSS 标准文档中,视口也被称为初始包含块,它是所有 CSS 百分比宽度推算的根源。

    2.6K21

    浅谈移动端中的视口(viewport)

    在 PC 端,视口指的是浏览器的可视区域,其宽度和浏览器窗口的宽度保持一致。...在 CSS 标准文档中,视口也被称为初始包含块,它是所有 CSS 百分比宽度推算的根源,给 CSS 布局限制了一个最大宽度。...那么,当我们在 CSS 中为一个元素设置属性 width: 250px; 时,会发生什么?这个元素的宽度究竟是多少像素呢? 事实上,这里已经涉及了两种不同的像素:物理像素和 CSS 像素。...CSS 像素(CSS pixels) 是 CSS 和 JS 中使用的一个抽象概念。它和物理像素之间的比例取决于屏幕的特性(是否为高密度)以及用户进行的缩放,由浏览器自行换算。...在 Apple 的视网膜屏(Retina)中,每 4 个像素为一组,渲染出普通屏幕中一个像素显示区域内的图像,从而实现更为精细的显示效果。此时, 250px 的元素跨越了 500 个物理像素的宽度。

    2.3K20

    浏览器之性能指标-LCP

    简单来说,它是「用户在屏幕上实际能看到的网页部分」。 ❞ 网页视口的大小取决于「用户设备的屏幕尺寸和浏览器窗口的大小」。在不同的设备上,网页视口的宽度和高度可能会有所不同。...例如,在手机上浏览网页时,网页视口通常较小,而在台式机或笔记本电脑上则较大。...在网页开发中,可以使用CSS的视口单位(viewport units)来设置元素的尺寸,这些单位根据网页视口的大小进行调整。...视口下方的图像以较低的优先级加载,但它们仍在页面加载时被获取。...在大多数情况下,「现眼包」元素就会脱颖而出。 通常情况下,它会是一个图像或文本块。LCP还会因页面环境而异,因为LCP元素基于视口展示。

    1.7K30

    JavaScript 高级程序设计(第 4 版)- BOM

    window 对象在浏览器中有两重身份,一个是 ECMAScript 中的 Global 对象,另一个就是浏览器窗口的 JavaScript 接口。...# Global作用域 通过 var 声明的所有全局变量和函数都会变成 window 对象的属性和方法 JavaScript 中有很多对象都暴露在全局作用域中 # 窗口关系 top对象始终指向最上层(最外层...,返回值单位为CSS像素 可以使用moveTo()和moveBy()移动窗口(依浏览器而定,这俩方法部分或全部被禁用) moveTo()接收要移动到的新位置的绝对坐标x和y moveBy()接收相对当前位置在两个方向上移动的像素数...和document.documentElement.clientWidth返回页面视口的宽度和高度 resizeTo()或resizeBy()可以调整窗口大小(可能被禁用) resizeTo()接收新的宽度和高度...resizeBy()接收宽度和高度各要缩放多少 # 视口位置 度量文档相对于视口滚动距离的属性有两对,返回相等的值:window.pageXoffset/window.scrollX和window.pageYoffset

    1.2K10

    解锁前端难题:亲手实现一个图片标注工具

    先解释下放大时,可见区域的概念,好像叫视口吧 当处于放大状态时,会导致图像只能显示一部分,此时需要能过需要可以移动可见的图像, 这里选择通过触摸板的移动,也就是 wheel 来实现移动视口 通过 canvas...这个可见区域也被称为“视口”。为了查看图像的其他部分,我们需要能够移动这个视口,即实现图片的平移功能。 在放大状态下,视口的大小相对于整个图像是固定的,但是它可以在图像上移动以显示不同的部分。...你可以将视口想象为一个固定大小的窗口,你通过这个窗口来观察一个更大的图像。当你移动视口时,窗口中显示的图像部分也会相应改变。...为了实现移动视口,我们可以通过监听触摸板的移动事件(也就是 wheel 事件)来改变视口的位置。当用户通过触摸板进行上下或左右滑动时,我们可以相应地移动视口,从而实现图像的平移效果。...在移动视口时,我们需要更新图片的位置,并重新绘制图像以反映新的视口位置。

    90910

    H5移动端开发学习总结

    viewport(视口) ###3个视口### layout viewport(布局视口):CSS初始包含块的尺寸。CSS中所有以百分比为单位的长度都是根据它推算出来的。...而完美视口需要通过viewport meta标签来进行相应的设置。 ###像素### 一个像素就是计算机屏幕能显示一种特定颜色的最小区域。屏幕上的像素越多,同一时间你可以看到的就越多。...px是相对长度单位,相对的是设备物理像素(device pixel) 注意:在旧的屏幕上,当缩放程度为100%时,一个CSS像素等于一个设备像素。...手机浏览器是把页面放在一个虚拟的”视口”(viewport)中,视口可大于或小于手机屏幕的可视区域,一般手机默认viewport大于可视区域。...calc,vm这些CSS3新属性,在实际应用中最好还是使用js方式。

    1K20

    探讨移动端适配

    需要注意的是视口的单位是CSS像素,而非物理像素 如下图 通过查看html的尺寸即可知道视口的尺寸 如图在浏览器大小没有发生改变,没有进行缩放时此时html/视口的尺寸为 1280x116...通过查看视口的大小就可以得出 CSS像素与物理像素的比值关系 如上图视口宽度为 1280 而我们的分辨率,物理像素也是 1280 此时在浏览器窗口未发生改变和缩放时,CSS像素与物理像素的比值是...1:1 当我们对浏览器窗口放大二倍时,此时视口的宽度为 640 可以看到,视口变小了缩小为原来的两倍 因为我们将浏览器放大了两倍,原本1CSS像素就可以显示的地方现在需要2个CSS像素展示,所以视口就自然而然的变小了...要知道我们显示器的物理像素为1280 当浏览器窗口放大两倍时,视口宽度变成了640 与物理像素正好是2倍的关系 此时得出结论“ 1CSS像素等于2个物理像素”,这里只是一个单向关系,实际上应该是4个物理像素显示...预处理+媒体查询与rem+flexible.js做网页适配 vw,vh 1.vw:1vw等于视口宽度的1% 2.vh:1vh等于视口高度的1% 如100vw 在视口宽度为 375px大小时渲染处理的盒子宽度为

    1.4K10

    将 SVG 与媒体查询结合使用

    在 HTML 文档中,我们可以根据视口的条件显示、隐藏或重新排列页面的某些部分。例如,如果浏览器窗口的宽度为 480 像素,我们可能会将导航从水平导航移动到垂直可折叠列表。...或者我们可以在多个地方使用同一个 SVG 文档,并根据视口的宽度显示或隐藏它的一部分。 所有主要的浏览器引擎都支持SVG 1.1规范,而且他们已经这样做了多年。...另一方面,当一个 SVG 文档被链接时——就像,或元素一样——我们正在处理 SVG 文档视口。...媒体查询在这两种情况下都适用,但是当 SVG 文档被链接时,它的视口独立于它的 HTML 文档。在这种情况下,浏览器窗口的大小不会决定 SVG 视口的大小。...我们的元素fill在特定视口宽度处获得新颜色。当视口为 20 像素宽时,该fill值为蓝绿色。当它是 300 像素宽时,它是黄色的。

    6.2K00

    轻松掌握屏幕坐标和窗口通信的实用技巧

    我们通过一个实战例子来学习屏幕坐标、窗口通信 效果图 思考一个问题,上述效果图是不是多个窗口公用一个元素? 显然这是不可能的,肯定是三个元素。...同一个页面通过url传参的方式根据参数不同,给元素设置不同的背景。 做到上述效果图需要哪些必要条件? 保证元素的位置在同一个坐标系下相同。 只有在电脑屏幕下,它们的坐标系才是相同的。...) { //clientX, clientY 是视口坐标 //window.screenX 、window.screenY 是浏览器窗口左上角相对于屏幕左上角的距离...// 创建一个名为'card'的广播频道,这个频道允许不同窗口或标签之间的脚本进行通信 const channel = new BroadcastChannel('card'); // 将当前窗口元素位置的坐标转换为屏幕坐标.../css/index.css"> js/index.js

    10810

    01_移动端布局基础

    视觉视口 视觉视口是指用户正在看到的网站的区域,这个区域的宽度等同于移动设备的浏览器窗口的宽度。 理想视口 理想视口是指对设备来讲最理想的视口尺寸。...为了实现理想视口,需要给移动端页面添加 标签配置视口,在 标签中,将 name 属性设为viewport,即可设置视口。...图像分辨率5 00×200 表示这张图片在屏幕上按1:1显示时,水平方向有500个像素点(色块),垂直方向有200个像素点(色块)。 图片的分辨率越低,图片越模糊。图片的分辨率越高,图片越清晰。...标准的显示密度下,1个 CSS 像素对应一个物理像素,缩放时,1个 CSS 像素对应的物理像素会减增。...浏览器在显示网页时,需要将 CSS 像素转换为物理像素然后再呈现 一个css像素最终由几个物理像素显示,由浏览器决定:默认 PC 端,一个 CSS 像素 = 一个物理像素 1.3.4 单位 em:相对单位

    9810

    前端工程师之 移动端布局基础

    视觉视口 视觉视口是指用户正在看到的网站的区域,这个区域的宽度等同于移动设备的浏览器窗口的宽度。...为了实现理想视口,需要给移动端页面添加 标签配置视口,在 标签中,将 name 属性设为viewport,即可设置视口。...图像分辨率5 00×200 表示这张图片在屏幕上按1:1显示时,水平方向有500个像素点(色块),垂直方向有200个像素点(色块)。 图片的分辨率越低,图片越模糊。图片的分辨率越高,图片越清晰。...标准的显示密度下,1个 CSS 像素对应一个物理像素,缩放时,1个 CSS 像素对应的物理像素会减增。...浏览器在显示网页时,需要将 CSS 像素转换为物理像素然后再呈现 一个css像素最终由几个物理像素显示,由浏览器决定:默认 PC 端,一个 CSS 像素 = 一个物理像素 1.3.4 单位 em

    7510

    Bootstrap实用手册

    视口 - viewport IOS 中的 Safari 最早引入的概念 视口:移动设备中,浏览器里显示网页的一块区域(PC 端会忽略) 对于响应式网页,设置视口的信息: (1)....视口的宽度:要与设备宽度一致 (2). 视口的缩放倍率:设置为 1,即不缩放 (3)....视口的手动缩放:不允许缩放网页 在 HTML 中指定视口信息:(移动端必备) JS 插件-模态对话框 modal.js ,父窗口中弹出一个子窗口,只要子窗口不关闭,父窗口就无法操作,模态对话框由两部分组成: (1). 触发元素,通常 a / button 组成 ①....嵌套规则 #top{} #top p{} #top p span{} 在 less 中,允许在一个选择器内再声明另一个选择器,以便完成父子结构或后代结构 选择器 1{...

    6K20

    关于移动端适配,你必须要知道的

    CSS时,我们用到最多的单位是 px,即 CSS像素,当页面缩放比例为 100%时,一个 CSS像素等于一个设备独立像素。...所以,布局视口是网页布局的基准窗口,在 PC浏览器上,布局视口就等于当前浏览器的窗口大小(不包括 borders 、 margins、滚动条)。...例如:用户将浏览器窗口放大了 200%,这时浏览器窗口中的 CSS像素会随着视觉视口的放大而放大,这时一个 CSS像素会跨越更多的物理像素。...上面在介绍 CSS像素时曾经提到 页面的缩放系数=CSS像素/设备独立像素,实际上说 页面的缩放系数=理想视口宽度/视觉视口宽度更为准确。...所以,当页面缩放比例为 100%时, CSS像素=设备独立像素, 理想视口=视觉视口。 我们可以通过调用 screen.width/height来获取理想视口大小。

    1.9K41

    关于移动端适配,你必须要知道的

    CSS时,我们用到最多的单位是 px,即 CSS像素,当页面缩放比例为 100%时,一个 CSS像素等于一个设备独立像素。...所以,布局视口是网页布局的基准窗口,在 PC浏览器上,布局视口就等于当前浏览器的窗口大小(不包括 borders 、 margins、滚动条)。...例如:用户将浏览器窗口放大了 200%,这时浏览器窗口中的 CSS像素会随着视觉视口的放大而放大,这时一个 CSS像素会跨越更多的物理像素。...上面在介绍 CSS像素时曾经提到 页面的缩放系数=CSS像素/设备独立像素,实际上说 页面的缩放系数=理想视口宽度/视觉视口宽度更为准确。...所以,当页面缩放比例为 100%时, CSS像素=设备独立像素, 理想视口=视觉视口。 我们可以通过调用 screen.width/height来获取理想视口大小。

    2.1K10

    关于移动端适配,你必须要知道的

    CSS时,我们用到最多的单位是 px,即 CSS像素,当页面缩放比例为 100%时,一个 CSS像素等于一个设备独立像素。...所以,布局视口是网页布局的基准窗口,在 PC浏览器上,布局视口就等于当前浏览器的窗口大小(不包括 borders 、 margins、滚动条)。...例如:用户将浏览器窗口放大了 200%,这时浏览器窗口中的 CSS像素会随着视觉视口的放大而放大,这时一个 CSS像素会跨越更多的物理像素。...上面在介绍 CSS像素时曾经提到 页面的缩放系数=CSS像素/设备独立像素,实际上说 页面的缩放系数=理想视口宽度/视觉视口宽度更为准确。...所以,当页面缩放比例为 100%时, CSS像素=设备独立像素, 理想视口=视觉视口。 我们可以通过调用 screen.width/height来获取理想视口大小。

    2K20

    移动端自适应的常见手段

    CSS 像素是逻辑像素。 为了在不同尺寸和密度比的设备上表现出一致的视觉效果,使用逻辑像素描述一个相同尺寸的物理单位。在具有高密度比的屏幕下,一个逻辑像素对应多个物理像素。...相关问题:图片或 1px 边框显示模糊 在移动端中,常见图片或者 1px 的边框在一些机型下显示模糊/变粗的问题。基于对像素相关的概念理解,可知 CSS 中的 1px 是指一个单位的逻辑像素。...在 PC 端上, 元素的宽度被设置为 100% 时,等同于视口大小,等同于浏览器的窗口大小。...通过 document.documentElement.clientWidth 或 window.innerWidth 可以获取视口宽度。CSS 布局基于视口大小进行计算。...使用响应式图片 展示图片时,可以在 picture 元素中定义零或多个 source 元素和一个 img 元素,以便为不同的显示/设备场景提供图像的替代版本。

    1.9K00
    领券