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

2021前端面试高频 HTML + CSS

什么回流 和 重绘 回流 ❝ 1. 概念 DOM变化影响了元素几何信息(元素位置和尺寸大小),浏览器需要重新计算元素几何属性,将其安放在界面中正确位置,这个过程叫做重排。...页面初始渲染,这是开销最大一次重排 添加/删除可见DOM元素 改变元素位置 改变元素尺寸,比如边距、填充、边框、宽度和高度等 改变元素内容,比如文字数量,图片大小改变元素字体大小 改变浏览器窗口尺寸...❞ relative 相对定位 ❝元素放置在定位位置,不改变原有布局,通过改变 top, right, bottom, left 来改变所在位置原所在位置会留下预留空间。...元素位置屏幕滚动不会改变。 ❞ sticky 粘性定位 ❝元素根据正常文档流进行定位,然后相对它最近滚动祖先 和 最近块级祖先 。...rem remCSS3新增一个相对单位,使用rem为元素设定字体大小时,仍然相对大小相对只是HTML根元素

91340

面试官:CSS 面试题集锦

下面就简单介绍一下Bootstrap栅格系统工作原理: 网格系统实现原理非常简单,仅仅是通过定义容器大小,平分12份(也有平分成24份32份,12份最常见),再调整内外边距,最后结合媒体查询...它特殊之处在于它不用像absolute疯狂“找爸爸”,它天生参照于浏览器窗口为对象设置固定定位后,该对象即处于浏览器窗口画面中固定位置,无视文档长短、窗口大小和滚条滚动。...3.相对大小字体,字体也不能使用绝对大小(px),只能使用相对大小(em)或者高清方案(rem),rem不局限字体大小,而前面的width也可以使用,代替百分百。...改变transformopacity不会触发浏览器重新布局(reflow)重绘(repaint), 只会触发复合(compositions)(复合是什么,也不懂,没听说过,有知道朋友可以在留言区告诉...transform使浏览器为元素创建一个 GPU 图层 translate改变位置元素依然会占据其原始空间 而改变绝对定位会触发重新布局,进而触发重绘和复合。 改变绝对定位会使用到 CPU。

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

再谈BOM和DOM(6):dom对象及event对象位值计算—如offsetXTop,clentX

IE事件和标准事件都定义了这2个属性 event.pageX、event.pageY 类似于event.clientX、event.clientY,但它们使用文档坐标而非窗口坐标。...,会随窗口显示大小改变     obj.clientHeight = (height + padding)  //元素高     clientTop、clientLeft 这两个返回元素周围边框厚度...    obj.offsetTop  //元素相对于父元素top 如果弹框宽度(offsetWidth)+距离左边距离(offsetLeft)大于父元素宽度,则判断为超出外部元素范围,需要动态改变弹框距离边框位置...获取对象滚动高度     scrollLeft 已滚动过去宽度 设置获取位于对象左边界和窗口中目前可见内容最左端之间距离     scrollTop  设置获取位于对象最顶端和窗口中可见内容最顶端之间距离...js中getBoundingClientRect 滚动位置发生了改变,top和left属性值就会随之立即发生变化(因此,它们相对于视口,而不是绝对)。

1.4K20

控件anchor和dock属性_控件常用属性

大家好,又见面了,你们朋友全栈君。...在设计窗体,这两个属性特别有用,如果用户认为改变窗口大小并不容易,应确保窗口看起来显示不是那么乱,并编写很多代码来实现这个效果,许多程序解决这个问题都是禁止给窗口重新设置大小 这显然解决问题最简单方法...1、Anchor属性用于指定在用户重新设置窗口大小时控件应该如何响应,可以指定如果控件重新设置了大小,就根据控件边界去锁定它,或者其大小不变,根据窗口边界来锚定它位置 正如名称暗示那样...2、Dock属性用于指定控件应该停放在窗口边框上,用户重新设置了窗口大小,这个控件将继续停放在窗口边框上,例如,如果指定控件停留在窗口底部边界上,则无论窗口大小怎么改变,这个控件都将改变大小,...移动其位置,确保总是位于屏幕底部。

1.3K30

【CSS】1287- 一行 CSS 实现 10 种强大布局

通过使用 Flexbox 实现此效果,您不需要在屏幕尺寸发生变化时通过媒体查询来调整这些元素位置。...1 1 150px; } 现在,您增加减少屏幕尺寸,这些 flex 项目会缩小和增长。...煎饼堆栈布局:grid-template-rows: auto 1fr auto 与 Deconstructed Pancake 不同,屏幕尺寸改变,本例不会包含它元素。...这可以自动放置这些子元素。这些子元素基本最小值为 150px ,最大值为 1fr ,这意味着在较小屏幕上,它们将占据整个 1fr 宽度,它们达到 150px 宽度它们将开始流到同一条线上。...使用 auto-fit ,它们水平尺寸超过 150px ,框将拉伸以填充整个剩余空间。

4.6K20

干货 | 一分钟了解PyQt绝对定位

布局管理GUI编程中重要部分。布局管理一种如何在应用窗口放置组件方法。 我们可以通过两种基本方式来管理布局。 绝对定位和布局类。...今天我们首先来谈谈PyQt编程中绝对定位,绝对定位就是每个控件按程序员自己指定位置进行放置。 简单明了就是"不要你觉得,要觉得"。...当你使用绝对定位,我们首先要了解以下窗口限制: 1.如果我们调整了窗口大小窗口里面控件大小位置保持不变,不会随着窗口改变改变。 2.在不同平台上,应用程序看起来可能会不同。...我们通过提供x和y坐标值来定位它们。坐标系原点控件左上角。x值增长由左到右。y值增长从上到下。...如下代码截图: lbl3 = QLabel('你支持不断前行动力', self) lbl3.move(55, 70) 整个程序执行起来如下所示: 总结一下绝对定位缺点: 1.窗口变化时

1.1K20

10分钟内就可以学会几个CSS高招

它还在 HTML 中提供了有用注释,例如一个元素导致另一个元素溢出,Firefox 还为 flex 和网格布局提供了非常漂亮图形,谈到哪个布局元素相对于彼此位置历来最重要布局之一。...3、 Flexbox 很棒 一种选择给子元素绝对定位,然后使用 top 和 left 属性移动到右下角,然后将其转换回50%,以将其放在可以工作中心,现代CSS有一种更好方法 使用flexbox...,允许你在 UI 中任何位置创建灵活行,元素具有显示 flex ,它还具有 x 和 y 轴,你可以在其上对齐其子项。...涉及到布局,Flexbox 通常是使用第一个工具,但它确实有一个主要缺点,如果你有一个包含许多相交行和列大型复杂 UI,你最终可能会在 HTML 中使用大量容器包装元素。 ?...hack,你在顶部放置 56.25 填充然后给子元素绝对定位。

1.4K20

最新iOS设计规范九|10大系统能力(System Capabilities)

人们放置物体使用可用信息立即做出响应;然后在完成表面检测后,微调对象位置。 考虑引导人们走向屏幕虚拟对象。有时,人们可能很难找到不在屏幕放置对象。...图像可能在环境中移动,或者附加动画虚拟对象与图像大小相比较小时,请使用跟踪图像。 与人沟通 如果必须显示说明文字,请使用易于理解术语。AR一个可能使某些人感到恐惧高级概念。...当用户切换多任务模式,旋转屏幕更改文本大小区域,自适应界面会自动调整其UI元素和布局。 为中断做好准备,并准备好恢复。您应用可以随时中断。...偏好全天变化动态信息。 如果窗口小部件内容从未改变,则人们可能不会将其保持在显眼位置。尽管小部件不会每分钟更新一次,但是找到保持其内容新鲜以邀请频繁查看方法很重要。 寻找惊喜和喜悦机会。...使用设备,它会出现在屏幕顶部几秒钟,然后消失。 警报。在使用设备,它会显示在屏幕顶部,并停留在屏幕顶部,直到手动将其关闭。

4.2K20

前端课程——定位继承与层叠

定位 定位属性为position static: 默认值,表示元素为静态定位。指定元素使用正常布局行为,即元素在文档常规流中布局位置。 absolute: 表示元素绝对定位。...元素放置在未添加定位位置,再在不改变页面布局前提 下调整元素位置。...简单来说定位就是规定被定位元素距离页面顶部及左边距离 绝对定位 开启后脱离文档流 不设置位置偏移量则位置不会变化 偏移量 正值(top)向下 负值(top)向上 绝对定位集中情况 如果当前元素父级元素...相对于父级元素定位 bottom值 默认加载完毕后位置 相对于当前浏览器窗口底部 绝对定位依旧相对于页面的定位,而不是相对于浏览器窗口定位 固定定位 相对于浏览器窗口定位...尽管CSS样式会来自这些不同源,但它们作用范围重叠,而层叠则定义了它们如何相互作用。

88531

CSS基础知识

注意有一些css样式不具有继承性。...内联元素特点: 1、和其他元素都在一行上; 2、元素高度、宽度、行高及顶部和底部边距不可设置; 3、元素宽度就是它包含文字图片宽度,不可改变。 四....如果不存在这样包含块,则相对于body元素,即相对于浏览器窗口 相对于浏览器窗口处于右下角。并且拖动滚动条位置固定变化。... (3) 固定定位(position: fixed),与absolute定位类型类似,但它相对移动坐标视图(屏幕网页窗口)本身。...由于视图本身固定,它不会随浏览器窗口滚动条滚动而变化,除非你在屏幕中移动浏览器窗口屏幕位置改变浏览器窗口显示大小,因此固定定位元素会始终位于浏览器窗口内视图某个位置不会受文档流动影响

1K31

前端性能优化 | 回流与重绘

回流会导致浏览器重新计算元素位置大小,然后重新绘制到屏幕上,一种相对耗费资源操作。...修改元素位置、尺寸层级关系:修改元素位置、尺寸层级关系(如改变元素宽度、高度、margin、padding、top、left、z-index等)会导致元素重新布局,从而触发回流。...浏览器窗口变化:浏览器窗口大小变化时,需要重新计算并布局页面中元素,从而触发回流。...:页面中某些元素样式发生变化,但是不会影响其在文档流中位置以下这些操作会导致重绘修改元素颜色、背景色、边框颜色等样式属性:例如,将一个元素背景色由红色改为蓝色,这样只会引发元素重绘,而不会触发布局改变...避免频繁改变窗口大小改变窗口大小会触发回流,所以尽量避免频繁改变窗口大小

49020

如何使用纯 CSS 制作四子连珠游戏

在同一列中掉落圆盘会堆叠在一起。 首先为每个圆孔放置了两个 checkbox 。它们都没有被选中,圆孔就被认为其中一个被选中,相应玩家就会把他圆盘放进去。...为了获得更好用户体验,希望交互区域可以更大一些,所以合理做法让玩家点击一个列来移动圆盘。通过在合适元素上添加绝对和相对位置将同一列控件相互叠加。这样,在每一列中只能选择最下面的圆孔。...更好方式使用 letter-spacing,因为它只在一个维度上改变大小。出乎意料,即使一个字母也有字母间距(在字母后面呈现),两个字母就有两个字母间距。...一直以为伪元素显示计数值 radio 按钮元素,可惜不是。但是,注意到伪元素宽度改变了其父元素宽度,在本例中父元素 radio 按钮容器。...有一个好处不会出现检测错误行。结果显示也必须进行修改,任何匹配列使用 ::after 伪元素都应该是一致。因此,必须在最后一个位置之后添加一个伪第八列。

1.9K20

干货 | 如何实现jQuery响应式瀑布流 ?

开门见山,本文介绍响应式瀑布流实现方法。 最终效果图如下,改变浏览器大小效果更棒哦~ ?...来保存每个元素宽高 使用数组boxArr保存每一竖列高度,即每一竖列最后一个box底部位置 使用瀑布流原理计算每个box位置(left和top),并保存到数组boxStyleArr 123456789101112131415161718192021222324...box ---- 根据数组boxStyleArr,将每个box使用绝对定位放置到相应位置 这里使用了动画效果,使所有box从左上角伸展 12345678910111213141516171819202122...---- 屏幕大小改变,触发重新计算box位置 为了避免浏览器频繁改变宽度,这里增加了个小判断 屏幕改变后200毫秒内不再改变,才触发重新计算 123456789 $(window).on("load...---- 考虑图片加载 图片加载过程可能影响对box高度判断 可通过img.load来确保图片加载完成或者失败之后才进行计算 代码优化&封装 尽情发挥你创造力吧 结束语 ---- 这个效果从别人博客看到

1.8K20

Unity基础教程系列(三)——复用对象(Object Pools)

直接用它们本来样子,不做任何改变。默认情况下,画布设置为一个Overlay,会渲染在游戏窗口场景最上层。 虽然屏幕空间画布逻辑上不是存在于3D空间中,但它仍然会显示在场景窗口中。...不仅控制对象位置、旋转和缩放,还控制它矩形大小、枢轴点和锚点。 锚控制GUI对象相对于其父容器位置,以及它对其父容器大小变化反应。我们把标签放在游戏窗口左上角。...这允许我们选择附加到目标对象组件方法属性。现在我们可以使用第三个下拉列表,选择Game。 ? (滑动条链接到属性) 得到了一个输入字段,第四个选项0?...这会影响场景窗口,但不会影响游戏窗口。 ? (隐藏UI层) 3 对象池 每次实例化一个对象,都必须分配内存。每次一个对象被销毁,它使用内存都必须被回收。回收不会立即发生。...所以每次游戏会破坏一个形状,而不是我们应该把它们送回工厂回收。 回收形状可行,因为它们使用过程中不会改变太多。它们有随机transform、材质和颜色。

2.8K10

Unity性能调优手册8UI:Canvas,Layout,RaycastTarget,Mask,TextMeshPro,UI显示

但是,您需要仔细考虑如何拆分它们,因为拆分画布将不适用于绘制批次。 Tips 画布嵌套在画布下,拆分画布也有效。如果子画布中包含元素发生变化,则只会运行子画布重建,而不会运行父画布。...UnityWhiteUnity内置纹理,ImageRawImage组件没有指定要使用图像使用(图8.1)。你可以看到UnityWhite如何在框架中使用调试器(图8.2)。...例如,如果不需要动态放置,例如根据内容改变放置位置文本,则不需要使用Layout组件。如果您确实需要动态放置,或者如果它在屏幕上大量使用,那么最好使用您自己脚本来控制它。...此外,如果需要将需求放置在相对于父元素特定位置,即使父元素大小发生了变化,也可以通过调整RectTransform锚点来实现。...单击触摸屏幕,启用了此属性对象将成为处理目标,因此尽可能禁用此属性将提高性能 默认情况下启用此属性,实际上许多图形并不需要启用此属性。

36730

HTML定位简介

事实上那并非真实位移,因为,那只是通过加大margin值来实现障眼法。而真正意义上位移通过top,right,bottom,left(下称TRBL,TRBL可以折分使用。)...在父层position属性为默认值,TRBL坐标原点以body坐标原点为起始。看下图: ? 上图可知,文本流中内容会顶替绝对定位无素位置,一点都不会客气。...即希望定位元素要有绝对定位特性,但是又希望绝对定位坐标原点可以固定在网页中某一个点,这个点被移动绝对位定元素能保证相对于这个原坐标的相对位置。...而父级这里如果要产生位置移动,或是浏览器窗口大小有所变动都不会影响到这个绝对定位元素与父级相对定位元素之间位置关系。这个子级也不用调整数值。 这是一种很特别并且也是非常实用应用方式。...有可能看到不同西瓜层叠 在一起情况(这个所谓高度在网页中不存在,就像FLASH动画中不同层上安排了元素,但它们在看不会有深度感觉)。

1.7K20

【iVX 初级工程师培训教程 10篇文拿证】01 了解 iVX 完成新年贺卡

与常规编程不同,iVX一款无代码开发语言,对于不懂开发初学者来说,抛弃了常规编程语言中代码,使开发更加简单并高效;iVX 在开发某些功能自带了对应模块,开发起来更加高效,并且对于程序员来说可以导出其代码进行二次开发...在选择项目创建,将会看到有 绝对定位 应用和 相对定位 应用,这两者区别分别如下: 绝对定位:使用绝对 xy 坐标绘制应用元素(例如图片所在位置根据 xy 确定),之后将会通过示例详细讲解; 相对定位...:根据元素相对位置在界面中进行定位,相对定位不会存在 xy 值(除非相对定位中存在一个绝对定位组件,例如画布)。...这些组件咱们将会在接下来章节中进行讲解说明。 四、绝对定位与贺卡制作 4.1 绝对定位 绝对定位在 iVX 中指使用绝对 xy 坐标对某一个元素进行位置定位。...接下来使用中文文本绘制出文本区域,使用中文文本好处可以使字体有中文文本样式: 在文本中输入新年快乐,并更改其颜色、字体、大小: 最后我们点击预览查看效果: 我们可以按F12

1.1K20

CSS笔记(14)

静态定位在布局很少用到. 2.相对定位 相对定位元素在移动位置时候,相对于它原来位置来说....子绝父相: 子级使用绝对定位,父级使用相对定位 子级绝对定位,不会占有位置,可以放到父盒子里面的任意地方,不会影响其他兄弟盒子.相当于浮动起来了,脱离了标准流,不占用原来位置....当然,子绝父相不是永远不变,如果父元素不需要占有位置,子绝父绝也会遇到. 4.固定定位 固定定位元素固定于浏览器可视区位置.主要使用场景:可以在浏览器页面滚动元素元素位置不会改变....块级元素添加绝对固定定位,如果不给宽度或者高度,默认大小内容大小(不加定位的话宽度父级元素宽度). 浮动元素,绝对定位(固定定位)元素不会触发外边距合并问题....且后端需要强大逻辑能力,肯定没有的...真的好害怕啊...还是加油继续学吧...昨天又学了下Python,突然感觉忘记了好多东西,啥也不会了,觉得还是集中精力学习前端吧,赶紧把视频看完!

57110

创建华丽 UI 7条规则  第二部分 (2019年更新)

方法一:将文本直接放置于图片上 一直在考虑要不要把这个方法算进五种方法一种,设计上,直接将文字放置于图片上让视觉效果更好可行。 ?...这种方法有各种各样问题和需要注意事项: 图像色调应该偏暗,并且竖直方向上不能有太大色差。 文本必须白色。 测量不同尺寸屏幕窗口以确保图像显示正常。...这种渐变效果确实很难看出来,确实是有的,绝对改善清晰度。 还要注意,这几张缩略图使用了文本阴影来进一步增强可读性,这个做法真棒!...通常,改变字体大小大小字体权重会改变文本占用区域大小,这种变化可以限制住悬浮效果。 所以还有哪些属性可以更改呢?...像艺术家一样借鉴 第一次尝试设计一些应用程序元素 - 按钮,表,图表,弹出窗口 - 这是第一次意识到我对如何让这些元素好看而知之甚少。 幸运还没有发明任何新 UI 元素

1.1K30
领券