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

CSS&HTML面经专题——(四)移动端响应式布局

CSS&HTML面经专题——移动端响应式布局 1、Viewport视口 在移动端viewport视口(pc端没有这个概念)就是浏览器显示页面内容的屏幕区域。...在viewport中有两种视口,分别表示为: visual viewport(视觉视口):浏览器内看到的网站的显示区域,用户可以通过缩放来查看网页,从而改变视觉视口。...视觉视口不会影响布局视口的宽度和高度。 固定大小——跟屏幕大小相同,在上面。 layout viewport(布局视口):布局视口定义了pc网页在移动端的默认布局行为。...因为通常pc的分辨率较大,所以布局视口的默认大小为980像素,可==通过document.documentElement.clientWidth获取==。...(2)概念 根据屏幕大小变化,页面的内容排版布局会自动调整变动,已呈现更好的用户体验。 5、rem,em,px的区别是什么? px 绝对单位,页面按精确像素展示。

2.4K20

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

我们可以通过调用 document.documentElement.clientWidth/clientHeight来获取布局视口大小。 4.2 视觉视口 ?...当用户对浏览器进行缩放时,不会改变布局视口的大小,所以页面布局是不变的,但是缩放会改变视觉视口的大小。...所以,布局视口会限制你的 CSS布局而视觉视口决定用户具体能看到什么。 我们可以通过调用 window.innerWidth/innerHeight来获取视觉视口大小。 4.3 理想视口 ?...如上图,我们在描述设备独立像素时曾使用过这张图,在浏览器调试移动端时页面上给定的像素大小就是理想视口大小,它的单位正是设备独立像素。...所以,当页面缩放比例为 100%时, CSS像素=设备独立像素, 理想视口=视觉视口。 我们可以通过调用 screen.width/height来获取理想视口大小。

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

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

    我们可以通过调用 document.documentElement.clientWidth/clientHeight来获取布局视口大小。 4.2 视觉视口 ?...当用户对浏览器进行缩放时,不会改变布局视口的大小,所以页面布局是不变的,但是缩放会改变视觉视口的大小。...所以,布局视口会限制你的 CSS布局而视觉视口决定用户具体能看到什么。 我们可以通过调用 window.innerWidth/innerHeight来获取视觉视口大小。 4.3 理想视口 ?...如上图,我们在描述设备独立像素时曾使用过这张图,在浏览器调试移动端时页面上给定的像素大小就是理想视口大小,它的单位正是设备独立像素。...所以,当页面缩放比例为 100%时, CSS像素=设备独立像素, 理想视口=视觉视口。 我们可以通过调用 screen.width/height来获取理想视口大小。

    2.1K10

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

    我们可以通过调用 document.documentElement.clientWidth/clientHeight来获取布局视口大小。 4.2 视觉视口 ?...当用户对浏览器进行缩放时,不会改变布局视口的大小,所以页面布局是不变的,但是缩放会改变视觉视口的大小。...所以,布局视口会限制你的 CSS布局而视觉视口决定用户具体能看到什么。 我们可以通过调用 window.innerWidth/innerHeight来获取视觉视口大小。 4.3 理想视口 ?...如上图,我们在描述设备独立像素时曾使用过这张图,在浏览器调试移动端时页面上给定的像素大小就是理想视口大小,它的单位正是设备独立像素。...所以,当页面缩放比例为 100%时, CSS像素=设备独立像素, 理想视口=视觉视口。 我们可以通过调用 screen.width/height来获取理想视口大小。

    2K20

    第六章:常用控件日常科普标签(Lable)图片(Image)按钮(Button)

    日常科普 1.控件是用于开发构建用户界面(UI)控件,帮助完成开发中视窗,文本框,按钮,下拉菜单,等界面元素 2.在LibGdx中,提供的控件有 按钮,勾选框,下拉框,图片,输入框,列表,滑动面板,滑条...,分割面板 3.LibGdx中,控件需要样式(Style)才能完成控件的初始化,比如:(LabelStyle,ButtonStyle)等 标签(Lable) val label = Label (CharSequence...4.Lable和LableStyle一般配套使用 LableStyle 1.定义:文本标签样式 2.构成:由hiero的 .fnt和.png,以及color构成(BitmapFont中的颜色,可自定义...bitmapFont, bitmapFont.color) label = Label("蕾哥哥", labelStyle) 图片(Image) 1.定义:在一个小范围内,显示和拉伸一个纹理,本身是一个actor,可以拉伸...4.Drawable:在一直的一个给定的矩形内,绘制本身。它提供了边框的大小和最小尺寸,通过它自带的方法可以确定大小和位置。(其实就是为了Image提供一个矩形区域) 运行图: ?

    85020

    SIGCOMM 2023 | Dragonfly:以更高的感知质量实现连续 360° 视频播放

    涉及预测用户的视口(用户可见视频的部分)并根据预测调整传输。这些方法可以以更高的质量传输整个视口或其子集,而以较低的质量传输视口之外的区域,或者根本不传输。...tile 可以是固定大小的(例如形成4×6的网格 )或可变大小的。。每个 tile 可以独立编码和下载,并且可以以不同的质量进行编码。...这是因为有保障流时,当视口移动且主要流的某部分不可用时,惩罚较小。因此,可以更接近播放截止时间时预测要发送的内容(更准确),并减小在主要流中围绕预测视口获取的窗口的大小。...该公式希望在给定前瞻窗口上、根据带宽估计 优化整体效用,以确定应该在什么时候以及以什么质量获取哪些 tile 。...如图 11 所示,该热图表示在给定位置 tile 不可用的比例(跨所有会话的视口)。该比例从未超过0.8%,而较大的比例出现在外围。 总结 本文做出了三方面的贡献。

    31410

    布局常用解决方案对比(媒体查询、百分比、rem和vwvh)

    那么css中的1px的真实长度到底由什么决定呢? 为了理清楚这个概念我们首先介绍像素和视口的概念 1....为了明确css像素和物理像素的转换关系,必须先了解视口是什么。 2....(2) 视觉视口(visual viewport) 视觉视口表示浏览器内看到的网站的显示区域,用户可以通过缩放来查看网页的显示内容,从而改变视觉视口。...换句话说,理想视口或者说分辨率就是给定设备物理像素的情况下,最佳的“布局视口”。 上述视口中,最重要的是要明确理想视口的概念,在移动端中,理想视口或者说分辨率跟物理像素之间有什么关系呢?...2. vw单位换算 同样的,如果要将px换算成vw单位,很简单,只要确定视图的窗口大小(布局视口),如果我们将布局视口设置成分辨率大小,比如对于iphone6/7 375*667的分辨率,那么px可以通过如下方式换算成

    2.1K40

    哪些你知道或不知道的css,在这里或许都齐全 css编码技巧 css小技巧

    (vw,vh,vmin,vmax),她们的值解析为视口宽度或高度的百分比 当你需要在较大分辨率下得到固定宽度, 使用max-width代替width,因为他可以适应较小的分辨率,而无需使用媒体查询...,可以抵御未来的风险; css小技巧 为什么说能使用html/css解决的问题就不要使用JS呢?...解决方案calc()函数 margin:0 auto;所产生的左右外边距实际上都等于视口宽度的一半减去内容宽度的一半; 因此我们可以使用margin:0 calc(50%-width/2); 如果你觉得还有疑虑的话...紧贴底部的页脚 一个具有块级样式的页脚,当页面内容足够长时他一切正常,但是当页面比较短时,就会出现问题;页脚就不能像我们期望中那样紧贴在视口的最底部,而是在内容的下方 ?...把控制锚点的水平坐标和垂直坐标互换,就可以得到任何调速函数的反向版本 ? steps():是一个阶跃函数,用于把整个操作领域切分为相同大小的间隔,每个间隔都是相等的。

    1.7K10

    哪些你知道或不知道的css,在这里或许都齐全

    使用百分比长度来取代固定长度,或者使用与视口相关的单位(vw,vh,vmin,vmax),她们的值解析为视口宽度或高度的百分比 当你需要在较大分辨率下得到固定宽度, 使用max-width代替...width,因为他可以适应较小的分辨率,而无需使用媒体查询 替换元素(img,object,video,iframe)设置一个max-width值为100%; 图片元素以行列式进行布局时,让视口的宽度来决定列的数量...解决方案calc()函数 margin:0 auto;所产生的左右外边距实际上都等于视口宽度的一半减去内容宽度的一半; 因此我们可以使用margin:0 calc(50%-width/2); 如果你觉得还有疑虑的话...紧贴底部的页脚 一个具有块级样式的页脚,当页面内容足够长时他一切正常,但是当页面比较短时,就会出现问题;页脚就不能像我们期望中那样紧贴在视口的最底部,而是在内容的下方 解决方案:flex弹性布局 flex...把控制锚点的水平坐标和垂直坐标互换,就可以得到任何调速函数的反向版本 steps():是一个阶跃函数,用于把整个操作领域切分为相同大小的间隔,每个间隔都是相等的。

    1.4K20

    面试官问:如何判断一个元素是否在可视区域?

    通过getBoundingClientRect方法来获取元素的位置信息 Element.getBoundingClientRect() 方法返回一个 DOMRect 对象,其提供了元素的大小及其相对于视口的位置...那么问题又来了,DOMRect 对象又是什么呢?DOMRect 可以理解为将元素看出一个矩形,该对象包含了该矩形的位置、大小信息,可以获得页面中元素的左,上,右和下分别相对浏览器视窗的位置。...一次是目标元素刚刚进入视口(开始可见),另一次是完全离开视口(开始不可见)。...() 方法的返回值,如果没有根元素(即直接相对于视口滚动),则返回 null boundingClientRect:目标元素的矩形区域的信息 intersectionRect:目标元素与视口(或根元素)...应用场景 「图片的懒加载」 有时,我们希望某些静态资源(比如图片),只有用户向下滚动,它们进入视口时才加载,这样可以节省带宽,提高网页性能。

    3.2K22

    响应式图像

    device-pixel-radio)选择 基于viewport选择 基于Art direction(美术设计)选择 基于图像格式选择 一、固定宽度图像:基于设备像素比选择   srcset属性列出了浏览器可以选择加载的源图像池...处理高度的时候,vh单位更好。 1. 占满宽度的元素: % > vw 正如我所提到的,vw单位根据视窗的宽度决定它的大小。然而,浏览器是根据浏览器的窗口计算视窗大小的,包括了滚动条的空间。...如果页面延伸超过视口的高度——滚动条出现——视窗的宽度将会大于html元素的宽度。 因此,如果你将一个元素设置为100vw,这个元素将会延伸到html和body元素范围之外。...因为这个细微的差别,当使一个元素横跨整个页面的宽度时,最好使用百分比单位而不是视口的宽度。 2....我们可以用javascript来实现翻动页面的错觉。

    2.5K10

    试试动态视口单位之 dvh、svh、lvh

    它们三者与 vh 有什么异同呢?...翻译一下: 大视口(Large Viewport):视口大小假设任何动态扩展和缩回的 UA 界面都没有展开 小视口(Small Viewport):视口大小假设任何动态扩展和缩回的 UA 界面都展开了...简单而言,动态视口的意思是: 动态工具栏展开时,动态视口等于小视口的大小 当动态工具栏被缩回时,动态视口等于大视口的大小 因此,也就能得到下面这张图: 其中,dvh、dvw、dvmax、dvmin 对标...也就是说,CSS 除了在视口这条路之外,也逐渐在扩充探索以及完善与容器大小变化相关的能力。...如果还有什么疑问或者建议,可以多多交流,原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

    2K20

    Unity 基于Cinemachine计算透视摄像机在地图中的移动范围

    其实基本都是纯粹的数学运算,开始之前,必须先弄清楚透视摄像机的一些基本原理,它的视窗大小和屏幕分辨率之间到底是什么关系: 1.FOV:这是透视摄像机区别于正交摄像机最重要的一个特性——视口大小,它表示的是当前摄像机视野范围的开口角度...理由就是屏幕有不同的分辨率,而相机映照出来的画面最终是要在屏幕当中显示的,当我们的屏幕分辨率发生变化时,相机的视口面积也会对应的发生变化,这时,仅仅只有一个FOV没办法满足不同类型的屏幕分辨率,于是就需要额外设置相机的宽高比来对最终呈现的摄像机视口大小进行辅助调整...在Unity中,是以视口的高为基准进行计算的,也就是说,Unity中的透视摄像机的Fov角度其实是按照屏幕分辩率的高度进行对应的,而宽度对应的Fov则随着Aspect的变化而变化,不是面板设置的Fov大小...我们还知道一个数据就是摄像机的Fov,但是由于该Fov并非高度对应的值,所以我们先要进行一次转换,以得到摄像机宽度视口的Fov角度。...通过上面的方法我们就可以求得∠DPA的大小了,它正好就是横向Fov的一半,那个∠α的大小就可以轻易求出,现在问题的关键就是要求出边AP的长度,AP的长度得出的话,就可以利用∠α余弦求得AD,DP等。

    2.1K10

    OpenGL ES——一个平平无奇的三角形

    ,(0,0)表示窗口内部视口的左下角,(w,h)指定了视口的大小 gl.glViewport(0, 0, width, height); // 设置投影矩阵...gl.glMatrixMode(GL10.GL_PROJECTION); // 重置投影矩阵 gl.glLoadIdentity(); // 设置视口的大小...设置背景色 // 设置白色为清屏 gl.glClearColor(1, 1, 1, 1); 设置场景大小 // 设置OpenGL场景的大小,(0,0)表示窗口内部视口的左下角,(w,h)指定了视口的大小...我们用下图的方式,进行观察。 ? 下图,近处的平面,距离视点为1,远处的为10。我们画的三角平面,就在距离视点2的位置。在距离视点1处,我们的视口大小是 2ratio x 2。...到距离2处,我们的视口大小一定为2ratio x 2。 所以此时,我们渲染我们的三角形,它的高一定为画布高度的1/2。 如果我们将近平面,视点距离改为0.5f。

    82560

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

    一般移动设备的浏览器都默认定义一个虚拟的布局视口(layout viewport),用于解决早期的页面在手机上显示的问题。 视口大小由浏览器厂商决定,大多数设备的布局视口大小为 980px。...理想视口的好处 注意:理想视口不是真实存在的视口 设置理想视口的方法 2-缩放 PC 端 放大时 布局视口变小 视觉视口变小 元素的像素大小不变 缩小时 布局视口变大 视觉视口变大 元素的像素大小不变...注意: chrome 测试该参数会有偏差,真机测试 initial-scale = 1.0 也可以得到完美视口 initial-scale 会影响布局视口和视觉视口的大小 width 与 initial-scale...完美视口设置 通过 JS 设置页面的根元素字体大小。...,希望每一个知识点可以帮助到你 愿你在这个代码繁杂、头发渐秃的编码世界里,可以温暖疲倦的自己,坚持学习 有时候你不努力一下,就不知道什么叫绝望。

    2.6K21

    前端开发-视口

    视口概述视口简单理解就是可视区域的大小我们称之为视口在 PC 端,视口大小就是浏览器窗口可视区域的大小大小, 移动端视口宽度被人为定义为了 980图片那么在移动端为什么是 980 而不是其他的值呢,因为过去网页的版心都是 980,乔老爷子为了能够让网页在移动端完美的展示, 所以将 iOS 手机视口的大小定义为了...980,后来谷歌也觉得这是一个非常牛 X 的方案, 所以 Android 手机的视口也定义为了 980。...980 带来的问题,虽然移动端自动将视口宽度设置为 980 之后让我们可以很完美的看到整个网页,但是由于移动端的物理尺寸(设备宽度)是远远小于视口宽度的,所以为了能够在较小的范围内看到视口中所有的内容...:用户是否可以手动缩放<!

    17400

    响应式布局,你需要知道这些

    设备像素与CSS像素的区别是什么? EM,REM 的计算规则是什么?实际应用中如何选择? 什么是视口 viewport,布局视口,视觉视口,理想视口的区别? 百分比单位和视口单位的计算规则是什么?...viewport 最先由 Apple 引入,用于解决移动端页面的显示问题,通过一个叫 的 DOM 标签,允许我们可以定义视口的各种行为,比如宽度,高度,初始缩放比例等, 的手机屏幕,所以不同设备的视觉视口可能不同,有了 visual viewport,我们就可以实现网页的拖拽和缩放了,为什么? 因为有了一个承载布局视口的容器。...我们可以通过 meta 设置将布局视口转换为理想视口, 复制代码 meta 视口可以通过 的最佳实践, 1.确保图片内容不会超出 viewport 试想一下,如果图片固定大小且超出理想视口的宽度,会发生什么?

    1.8K20

    解读新一代 Web 性能体验和质量指标

    为了提供良好的用户体验,网站应努力使 CLS 分数小于 0.1 。 如何计算 CLS? 布局偏移分值 为了计算布局的偏移值,浏览器会查看两个渲染帧之间的视口大小和视口中不稳定元素的移动。...在上图中,有一个元素在一帧中占据了视口的一半。然后,在下一帧中,元素下移视口高度的25%。...红色的虚线矩形表示两个帧中元素的可见区域的并集,在这种情况下,其为总视口的75%,因此其影响分数为 0.75。 距离分数 布局偏移值方程的另一部分测量不稳定元素相对于视口移动的距离。...在上面的例子中,最大的视口尺寸是高度,并且不稳定元素移动了视口高度的25%,这使得距离分数为0.25。...可以使用 srcset 定义图像,使浏览器可以在图像之间进行选择,以及每个图像的大小。

    2.1K31
    领券