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

图解浏览器

Chrome 浏览器浏览器大战“二战”中技压群雄,拔得头筹。现如今也是前端工程师最喜爱浏览器,没有之一。...如果想要直接通过 Web API 来获取这些指标的话可以参考下面的获取方法: JavaScript中测量LCP JavaScript中测量FID JavaScript中测量CLS LCP Largest...Contentful Paint 最大内容绘制 LCP用于衡量标准报告口内可见最大图像或文本渲染时间,为了提供良好用户体验,网站应努力开始加载页面的前2.5 秒内进行“最大内容绘制”。...在上图中,有一个元素一帧中占据了一半。然后,在下一帧中,元素下移口高度 25%。...在上图中,最大口尺寸是高度,不稳定元素已经移动了口高度 25%,所以距离分数是 0.25。

1.4K30

Web 隐藏技术:几中隐藏 Web 中元素方法及优缺点

只有当口宽度大于400px时,才会显示该图。向元素添加了hidden`属性。 CSS中,使用hidden属性仅在所需口大小中显示元素。...那么,你可能会问为什么不使用display: none呢?这是个好问题。当通过其hidden属性调用图像选择器时,我们可以确定即使CSS因为某种原因没有加载,元素也会被隐藏。...请参见下图: image.png 注意,当蓝皮书被隐藏时,它已被完全堆栈中删除。为它保留空间已经消失了。同样概念也适用于HTML中隐藏元素时。...image.png 请注意,蓝皮书是如何可视流中隐藏,但是它并没有影响图书堆栈顺序。...可访问性对position: absolute | fixed影响 屏幕阅读器可访问该元素,并且键盘可聚焦。 它只是口中隐藏起来。

5K30
您找到你想要的搜索结果了吗?
是的
没有找到

前端如何提高用户体验:增强可点击区域大小

在下面的图中模拟了两个按钮不同情况。左侧,按钮更小,更远,用户需要更多时间与它互动。右侧,按钮大小更大,更接近于它同级输入元素,这将使交互更容易、更快。 ?...把鼠标悬停在按钮上,光标仍然是一个指针,这很好。不过,也可以选择文本和悬停时,有一个文本光标!如果使用了正确元素,就不会发生这种情况。 ?...复选框和单选按钮 当存在复选框或单选按钮元素时,希望可以单击它或关联标签来激活/禁用它。 ? 用户体验角度来看,这是难以访问和糟糕。...这样,问题得以解决,整个复选框或单选按钮都是可单击,如下图所 ? 侧边栏 对于带有类别的页面,有时我会注意到列表链接没有扩展到其父页面的整个宽度。 也就是说,可点击区域仅在文本上,如下图所示: ?...真实案例 最近Twitter更新中,导航设计可点击区域大小方面存在问题。 最初,它仅与文本相关,如下面的屏幕截图所示,但他们收到反馈后将其修复。 ?

4.7K20

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

3.4 关于屏幕 这里多说两句 Retina屏幕,因为很多文章中看到对 Retina屏幕误解。 Retina屏幕只是苹果提出一个营销术语: 普通使用距离下,人肉眼无法分辨单个像素点。...为什么强调 普通使用距离下呢?...四、口( viewport)代表当前可见计算机图形区域 Web浏览器术语中,通常与浏览器窗口相同,但不包括浏览器 UI, 菜单栏等——即指你正在浏览文档那一部分。...,基本可以满足所有场景,而且不需要外部引入,这是个人比较喜欢一种方案。...不同于位图基于像素, SVG 则是属于对图像形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。 ?

1.9K41

H5移动端开发学习总结

大家好,又见面了,是你们朋友全栈君。 有很长一段时间没有更新博客了,近一段时间开始重新梳理知识点和写博客了,新博客地址:欢迎访问。...visual viewport(视觉口,即用户实际看见部分):屏幕上显示网页区域尺寸,会被缩放影响,可以通过window.innerWidth来获取。...理论上:1个位图像素对应于1个物理像素,图片才能得到完美清晰展示。 普通屏幕下是没有问题,但是retina屏幕下就会出现位图像素点不够,从而导致图片模糊情况。...JavaScript中,可以通过window.devicePixelRatio获取到当前设备dpr。...手机浏览器是把页面放在一个虚拟口”(viewport)中,口可大于或小于手机屏幕可视区域,一般手机默认viewport大于可视区域

93920

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

3.4 关于屏幕 这里多说两句 Retina屏幕,因为很多文章中看到对 Retina屏幕误解。 Retina屏幕只是苹果提出一个营销术语: 普通使用距离下,人肉眼无法分辨单个像素点。...为什么强调 普通使用距离下呢?...四、口( viewport)代表当前可见计算机图形区域 Web浏览器术语中,通常与浏览器窗口相同,但不包括浏览器 UI, 菜单栏等——即指你正在浏览文档那一部分。...,基本可以满足所有场景,而且不需要外部引入,这是个人比较喜欢一种方案。...不同于位图基于像素, SVG 则是属于对图像形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。 ?

1.9K20

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

3.4 关于屏幕 这里多说两句 Retina屏幕,因为很多文章中看到对 Retina屏幕误解。 Retina屏幕只是苹果提出一个营销术语: 普通使用距离下,人肉眼无法分辨单个像素点。...为什么强调 普通使用距离下呢?...四、口( viewport)代表当前可见计算机图形区域 Web浏览器术语中,通常与浏览器窗口相同,但不包括浏览器 UI, 菜单栏等——即指你正在浏览文档那一部分。...,基本可以满足所有场景,而且不需要外部引入,这是个人比较喜欢一种方案。...不同于位图基于像素, SVG 则是属于对图像形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。 ?

2K10

【译】Web中图像技术总结,前端开发中各种图片引入优点缺点及实例

选择正确技术很重要,并且可以性能和可访问性方面发挥巨大作用。 在这篇文章中,我们除了提到各种包含图片方法外,还将了解到每种方法优点和缺点,以及什么时候和为什么要使用每种方法来龙去脉。...解决方案1要点: 解决方案只有图像不重要情况下才是好 当无法后端CMS动态更改图片时 Demo 4.1.2 Hero - 解决方案2 对于此解决方案,我们将使用HTML图像。...另外,喜欢使用HTML 地方是可以图片没有加载情况下添加一个回退方法,这个回退至少可以保持内容可读性。...悬停时,形状和文本需要更改颜色。怎么做?对来说最好解决方案是使用内联SVG。...4.6.1 避免使用图像作为CSS背景 当一个图像作为CSS背景被包含进来时,它不会被打印出来,取而代之是一个空白区域。如下图所示: ? 就是这样情况。

5.5K20

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

因为上一篇中有提到过 CSS逻辑属性变革,物理概念跳跃到了逻辑概念,也就是 top 、 right 、 bottom、 left更新为 block、 inline、 start、 end。...如:打印机输出可达600DPI分辨率,表示打印机可以每一平方英寸面积中可以输出600X600=360000个输出点。...下图为喷墨打印机以较低质量约 0.25 平方英寸范围内按 150 dpi 打印效果特写 ?...视图 口(viewport) 口(viewport)代表当前可见计算机图形区域。...尺寸较大设备中,在这些设备上,应用显示区域不一定是全屏,viewport 是浏览器窗口大小。 大多数移动设备中,浏览器是全屏,viewport 是整个屏幕大小。

2.3K20

彻底玩转图片懒加载及底层实现原理

前言 图片懒加载其实已经是一个近乎“烂大街”词语了,大大小小面试中也会被频繁问到,之前面试中也被问到了图片懒加载原因、实现方式及底层原理,但由于自己平时很少做“图片”相关处理,对于“懒加载...今天,将首先从浏览器底层渲染机制来剖析为什么要去做图片懒加载,之后将带大家一起来看下目前主流几种实现图片懒加载方式及其实现原理,最后会做一个展望。...lazyLoad(imgs); } “但上面的代码如果你lazyLoad中打印,你会发现滚动条上下滚动时,lazyLoad...思路分析 通过这个 API,我们就很容易获取img元素相对于顶点位置rectObject.top,只要这个值小于浏览器高度window.innerHeight就说明进入可视区域: function...传统实现方法是,监听到scroll事件后,调用目标元素(绿色方块)getBoundingClientRect()方法,得到它对应于口左上角坐标,再判断是否口之内。

85031

3分钟搞定图片懒加载

什么是图片懒加载 图片懒加载就是页面打开时候,不要一次性全部显示页面所有的图片,而是只显示当前口内图片,一般移动端使用(PC端主要是前端分页或者后端分页)。...当页面滚动时候需要去监听scroll事件,scroll事件回调中,判断我们懒加载图片判断是否出现在口内,如果出现在口内,则将data-src赋值到src。...如何判断一个元素是否口内呢? 通过getBoundingClientRect()方法来获取元素大小以及位置。...当向下滑动时候,Network面板可以看到,剩下图片是一个个加载。 可能有人疑问为什么第一次加载了4张,而不是3张?...情况二 2、前端后端获取图片进行展示,后端进行分页。

2.4K20

图文并茂让你必须弄懂 viewport

不得不说屏幕尺寸 这里得盗一下图,来好好说说这些概念 简单说就是你显示器分辨率用物理像素描述,而横向和纵向分辨率值可以用screen.width/height打印出来。...口viewport问题引出 移动设备上viewport就是设备屏幕上能用来显示我们网页那一块区域具体一点,就是浏览器上(也可能是一个app中webview)用来显示网页那部分区域,但viewport...又不局限于浏览器可视区域大小,它可能比浏览器可视区域要大,也可能比浏览器可视区域要小。...打印是显示宽度(CSS像素),缩放就看得到区别,验证是CSS像素 没做口viewport适配显示效果 做了口适配效果(比如百度) 兼容性方案: var viewWidth = document.documentElement.clientWidth...|| window.innerWidth; 即可获取口宽度,如果做了口适配,这个打印出来就是和屏幕宽度一样值,比如这里375个CSS像素,如果不做口适配,这个打印出来就是默认口宽度(和机型相关

48010

遗传算法可视化项目(3):创建图数据结构

第二行开始写自己代码。首先,把之前生成那个文本文件(海南省所有镇经纬度.txt)复制到现在项目中,和Graph.h一个目录就行,然后用VS编写Graph.h。...#define ROW 106表示图中有106个结点(自己情况而定,以前在学校就爬出来106个点,然后回到家重新爬一次发现没有106个点,也不清楚是为什么,具体怎么爬看之前推送。...这个不用管,那个文本文件(海南省所有镇经纬度.txt)有多少行ROW就是多少),最后还定义了一个Graph类型全局变量,为什么要定义这个全局变量是因为和Python交互时使用,如果局部变量函数一结束就直接回收了...这样就把str整个字符串分成了ROW行3列char*类型二维数组,二维数组是变量strArray,然后利用atof函数把经纬度char*类型转变为double类型,存入图中,代码如下: ?...初始状态节点与节点并没有来连通,以后我会把最短路径连上,MAX是一个无穷大数,在这里定义成了10,为什么我会定义成10明天再说,今天差不多就到这里,最后不要忘了关闭文件释放资源!

70220

浏览器渲染原理

HTTP 请求流程 HTTP是一种允许浏览器向服务器获取资源协议,是Web基础。通常由浏览器发起请求,用来获取不同类型文件,例如HTML,CSS,JavaScript、「图片」、「视频」等。...所以显示之前,么还要额外地构建一棵「只包含了可见元素布局树」。 image-20220125191135512 从上图可以看出,DOM树中所有不可见节点都没有有包含到布局树中。... 这里么把div大小限定为200 * 200像素,而div里面的文字内容比较多,文字所显示区域肯定会超过200 * 200面积,这时候就产生了剪裁...首先我们谈一个概念,「口」。什么是口? 通常一个页面可能很大,用户只能看到其中一部分,我们把「用户可以看到这个区域口(viewport)。」...image-20220125191327634 图中可以看出,渲染进程把生成图块指令发送给 GPU,然后 GPU 中执行生成图块位图,并保存在 GPU 内存中。

98920

一篇文章助力大家理解Python 代码中垃圾回收机制

图1 这段代码读取tests/163/9.html这个文件里面的 HTML 代码,分别获取 下面的所有标签内部所有标签中文本。说起来可能有点绕口,举个例子。...薛定谔 Element 为了调试这个问题,对代码做了一下修改: ? 图4 可以看到,同一个 HTML 标签,之前缓存结果竟然跟新提取不一样。...但奇怪事情就这样发生了,问题消失了!图4大量打印同一个标签,缓存数据跟提取数据不一致!,图5里面却一条都没有打印。这样修改以后,GNE 提取结果就正确了。 但为什么会发生这种事情呢?...一开始,有一个不正确假设,以为str(element)值,对应 HTML 里面的每个节点。同一个节点,多次执行,结果都一样,不同节点,多次执行,结果都不一样。 但实际上这是不正确。...因为如果前一个节点内存区域被垃圾回收了,那么这个区域会被重新分配,新来节点可能碰巧会放到这个地方,这就导致两个不同 标签,当你执行str(element)时,他们打印出来结果都是相同

47720

从零开始学 Web 之 CSS3(八)CSS3三个案例

三、口(viewport)是用来约束网站中最顶级块元素,即它决定了大小。...图中统计我们得知不同移动厂商分别设置了一个默认viewport值,这个值保证大部分网页可以正常在移动设备下浏览。...1、layout viewport(布局口)指的是我们可以进行网页布局区域大小,同样是以CSS像素做为计量单位,可以通过下面方式获取 /* 获取layout viewport */ document.documentElement.clientWidth...2、ideal viewport(理想口)设备屏幕区域,(以设备独立像素PT、DP做为单位)以CSS像素做为计量单位,其大小是不可能被改变,通过下面方式可以获取。...是我们布局网页区域,那么最终layout viewport是要显示ideal viewport里,而layout viewport大于ideal viewport时,于是就出现滚动条了,那么为什么有的移动设备网页内容被缩放了呢

1.3K10

「学习笔记」HTML基础

「meta viewport用法」 通常viewport是指视窗、口。浏览器上(也可能是一个app中webview)用来显示网页那部分区域。...移动端和pc端视口是不同,pc端口是浏览器窗口区域,而在移动端有三个不同口概念:布局口、视觉口、理想口 meta有两个属性name 和 http-equiv name属性取值 keywords...如果我们文档中添加那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档处理。这也是为什么建议使用link方式来加载css,而不是使用@import方式。...,是不同进程发挥作用,示意图如下: 图中可以看出,整个过程是需要各个进程之间相互配合完成,过程大致可以描述为: 用户输入url,处理输入信息,主进程开始导航,交给网络进程干活 网络进程发起网络请求...HTML输入框可以拥有自动完成功能,当你往输入框输入内容时候,浏览器会你以前同名输入框历史记录中查找出类似的内容并列输入框下面,这样就不用全部输入进去了,直接选择列表中项目就可以了。

3.6K20

移动端常用适配方案四

initial-scale 属性来缩小,注意点: 缩放口后口大小会发生变化,利用获取像素比动态设置缩放比例改造之前示例如下:然后 iphone5 上面输出口宽度也为 320 没问题:图片然后将上面我们进行缩放代码添加之后再次打印结果如下:图片发现缩小之后并不是 320 而是 640 了,那么这就是为什么我们将整个口缩小之后它里面的内容并没有进行缩小原因,原因就是因为它在进行缩小时候首先会将口变大一半,原本我设置宽度等于设备宽度应该长相如下这么宽...,然后一一对应关系口当中先进行布局,布局完毕之后放入真正视口当中,然后进行缩小一半,然后正是因为它们是一一对应关系所以说你看到界面就没有变小了:图片图片正在参与2023腾讯技术创作特训营第二期有奖征文

21600

ROBOMASTER TT巡线.1

你可以像上文中这样很明确指定地址,也可以不用写。因为看源码来说,SDK是有自动获取IP代码区域。这个看自己实际情况去写。 之后记得初始化机体,内部完成“command指令发送。...具体视频流处理与输出看这个media初始化里面就完成了对机器视频流获取 可以看到视频编码是H.264格式 可以看到,用到了多线程。...失败重连会导致计数器+1,之后会去判断队列情况,后面的队列相关函数,不熟悉,不分析了。 如果队列没有满的话,而且是debug开启的话,就打印连接次数,数据长度,以及具体数据。...(TCP和UDP二选一) 一开始日志会打印,连接地址和协议 接着调用连接线程,上面写过 标志位更新, 然后进入下面的解码线程 接着是这个解码线程,队列里面读取一帧数据,将它送入 _h264...SDK连接设备到获取视频,到屏幕出现动态画面的完整流程做了简单分析。

2.6K40

【Flutter&Flame 游戏 - 贰玖】pinball 源码分析 - 口与相机

认识口与相机 相机是我们日常生活中非常常见概念, Flame 中,相机概念如何理解呢?现实生活中,当你使用相机拍出一张照片,其囊括区域是有限,这个区域也就是口 Viewport。...简单来说,相机作用是:口内对原本空间坐标信息进行变换,完成对应功能需求。注意,这里 Camera 类和硬件设备相机没有半毛钱关系。 ---- 2....【29/02】 比如上图中默认相机口尺寸是 900*600 ,并不是指白色区域是 900*600 逻辑像素。另外,可以看到角色尺寸没有改动,但在这个口尺寸下,就会显得较小。...所以,从这里可以体会一下相机口对于坐标系变换特性。 此时改变窗口尺寸,通过打印日志可以发现, FlameGame 中尺寸始终保持不变。...目前看来,本系列文章并没有太多人看,所以没有太大动力去研究,也不想投入太多精力游戏开发中。

90820
领券