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

Web 前端 | 面试题 | 笔记

在使用相对定位时,无论是 否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。...(脱离文档流) 粘性定位 sticky: 元素先按照普通文档流定位,然后相对于该元素在流中的 flow root(BFC)和 containing block(最近的块级祖先元素)定位。...的值不为visible BFC的使用场景 去除边距重叠现象 清除浮动(让父元素的高度包含子浮动元素) 避免某元素被浮动元素覆盖 避免多列布局由于宽度计算四舍五入而自动换行 3....另外你能看到多个脚本之间都是异步向服务器请求,他们之间不互相依赖,最终只等待 3 秒,而非 3+3+3 秒。...六、object / Symbol Symbol在ES6中新定义,符号类型是唯一的并且不可修改。Symbol 指的是独一无二的值。

75140

【Web前端】“CSS 定位”如何工作?(补充)

行内元素(如 ​​​​、​​​​、​​​​​ 等)则会水平排列,它们只占据内容所需的宽度。 <!...二、定位基础 CSS定位属性允许我们改变元素在文档流中的位置,从而实现更复杂的布局效果。CSS提供了几种不同的定位方式:静态定位、相对定位、绝对定位、固定定位和粘性定位。...class="sticky">这是一个粘性定位的元素div> div class="content">滚动页面查看效果div> 示例中粘性定位的元素会在视口顶部粘住...div> 两个绝对定位的元素在 ​​.container​​ 内重叠,​​box2​​ 的 ​​z-index​​ 值大于 ​​box1​​,因此 ​​box2​​ ... div> 导航栏使用了固定定位,始终保持在视口的顶部,内容区域向下移动以避免被导航栏遮挡。

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

    知识整理之CSS篇

    伪类和伪元素的区别 伪类本质上是为了弥补常规CSS的不足,以便获取更多信息。 伪元素的本质是创建了一个可以设置内容和样式的虚拟容器。 可以同时使用多个伪类,但只能使用一个伪元素。...如果使用import方法对CSS进行导入,会导致某些页面在Windows 下的Internet Explorer出现一些奇怪的现象:以无样式显示页面内容的瞬间闪烁。...示意图: image.png 外边距重叠的意义 外边距的重叠只产生在普通流文档的垂直外边距之间,避免块级元素之间产生双倍边距的问题。 外边距重叠解决方案 1....这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。 目前,除了IE8及更早版本外,所有浏览器均已支持rem。...当使用后代选择器的时候,浏览器会遍历所有子元素来确定是否是指定的元素等等 减少css嵌套,最好不要套三层以上 避免使用通配规则,以及慎用用css reset,可以选择normolize.css 渲染性能

    1.6K20

    jquery 事件冒泡、阻止事件冒泡 - event.stopPropagation()

    事件冒泡的作用 事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上),它还可以让你在对象层的不同级别捕获事件。...只点击了一次.son的div,弹出了son的alert(),然后继续弹出father(),grandfather()的弹出框。 ? ?...只单单点击了一次黄色的div,但是却弹出了三个alert(),这种就如同冒泡一样,逐个从底部元素传递到上级的元素。...但是也有一个疑问,那就是会不会是因为黄色div的位置,在这三个div重叠的问题,会不会点击了黄色div也包含点击下面两个div呢? 可以编写一个偏移问题后的div来看看,如下: ?...好了,现在黄色的div已经跟两个父级的元素位置不重叠了。再次点击看看,如下: ? ? ? 事件冒泡示例的结论 可以看出点击黄色div,依然会依次弹出三个alert()。

    6.1K41

    使用CSS实现底部固定广告Banner与自适应内容区域

    本篇文章将详细介绍如何使用纯CSS(不依赖JavaScript)来实现一个高度自适应的页面内容区域和一个始终固定在页面底部的广告Banner,同时确保两者不会重叠。...页面内容区域:占据除广告Banner外的所有空间,支持滚动,高度自适应。无重叠:两个区域之间不能有任何重叠。不使用JavaScript:完全依赖CSS实现。解决方案1....然而,由于广告Banner的高度未知,我们在这里假设一个合理的最小值,或者使用CSS变量(如果广告Banner的高度是动态确定的,并且可以通过JavaScript设置CSS变量,则可以在这里使用)。...div>结论通过上述方法,我们可以实现一个高度自适应的页面内容区域和一个始终固定在页面底部的广告Banner,同时确保两者不会重叠。...注意,如果广告Banner的高度是动态变化的,并且你希望内容区域能够自动调整其底部内边距以匹配Banner的实际高度,那么可能需要使用JavaScript来动态设置CSS属性。

    21110

    每天10个前端小知识 【Day 17】

    当父元素使用了transform的时候,会以父元素定位。 sticky 粘性定位,可以简单理解为relative和fixed布局的混合。...如果父元素的overflow属性设置了scroll,auto,overlay值,那么,粘性定位将会失效同一容器中多个粘贴定位元素独立偏移,因此可能重叠;位置上下靠在一起的不同容器中的粘贴定位元素则会鸠占鹊巢...7.CSS优化、提高性能的方法有哪些? 避免过度约束 避免后代选择符 避免链式选择符 使用紧凑的语法 避免不必要的命名空间 避免不必要的重复 最好使用表示语义的名字。...这时候就可以采取异步加载的方案,主要有如下: 使用javascript将link标签插到head标签最后 // 创建link标签 const myCSS = document.createElement...所以我们在编写选择器的时候,可以遵循以下规则: 不要嵌套使用过多复杂选择器,最好不要三层以上 使用id选择器就没必要再进行嵌套 通配符和属性选择器效率最低,避免使用 减少使用昂贵的属性 在页面发生重绘的时候

    15111

    2023金九银十必看前端面试题!2w字精品!

    答案:BFC(块级格式化上下文)是CSS中的一种渲染模式,它创建了一个独立的渲染环境,其中的元素按照一定的规则进行布局和定位。BFC的作用包括:清除浮动、防止外边距重叠等。 9....使用key属性可以避免出现错误的节点更新或重新排序的问题。 React 1. 什么是React?它的核心概念是什么? 答案:React是一个用于构建用户界面的JavaScript库。...可以采取以下措施来改善网页加载性能: 压缩和合并资源文件(如CSS和JavaScript),减少文件大小和请求数量。 使用图像压缩和适当的格式选择来减小图像文件大小。...DOM访问限制:不同源的网页无法通过JavaScript访问彼此的DOM元素。 Cookie限制:不同源的网页无法读取或修改彼此的Cookie。...答案:Web Workers是一种浏览器提供的JavaScript API,用于在后台线程中执行耗时的计算任务,以避免阻塞主线程。

    48242

    CSS粘性定位 - 它的真正工作原理!

    这篇文章详细解释了CSS中的sticky定位方式,并讲解了它的工作原理。 CSS中的sticky定位有很好的浏览器支持,但许多开发者并没有使用它。...当它正常工作时,元素会"粘"在一定位置,但在滚动的其他部分,它又会停止"粘"住。作为一个每天都在使用CSS的人,作者无法接受自己不能深入理解这个问题的根本原因,所以决定深入研究sticky定位。...CSS Sticky 定位的真正工作原理! CSS 的 sticky 定位有两个主要部分,即粘性元素和粘性容器。 粘性元素 - 是我们使用 position: sticky 样式定义的元素。...,因为在此之前,只能通过JavaScript来实现。...但你也可以使用它将元素粘贴到底部。这意味着可以定义页脚具有粘性位置,并且在向下滚动时始终会出现粘在底部。当我们到达粘性容器的末尾时,元素将停留在其自然位置。最好将其用于自然位置为粘性容器底部的元素。

    30620

    每天10个前端小知识 【Day 18】

    先说下结论: css加载不会阻塞DOM树的解析 css加载会阻塞DOM树的渲染 css加载会阻塞后面js语句的执行 为了避免让用户看到长时间的白屏时间,我们应该尽可能的提高css加载速度,比如可以使用以下几种方法...gzip压缩) 合理的使用缓存(设置cache-control,expires,以及E-tag都是不错的,不过要注意一个问题,就是文件更新后,你要避免缓存而带来的影响。...)重叠 父子元素的外边距重叠 清除浮动解决令父元素高度坍塌的问题 7.为何CSS不支持父选择器?...这个问题的答案和“为何CSS相邻兄弟选择器只支持后面的元素,而不支持前面的兄弟元素?”是一样的。 浏览器解析HTML文档,是从前往后,由外及里的。...对于一些复杂控制的动画,使用 javascript 会比较靠谱。而在实现一些小的交互动效的时候,就多考虑考虑 CSS 吧。 10.html和css中的图片加载与渲染规则是什么样的?

    14710

    这份前端面试小册子dog cheng带来啦~

    CSSOM树:CSS Parser将很多个CSS文件中的样式合并解析出具有树形结构Style Rules,也叫做CSSOM。...转换像素大小(em值乘以使用em单位的元素的字体大小),比如一个div的字体大小为16px,那么10em就是180px(或者接近它) rem平时怎么做的转换:为了方便计算,时常将html的字体大小设置为...遵循IEEE754舍入规则,会有精度损失 对eventloop事件循环机制的了解 首先,JavaScript一大特点就是单线程,这样的设计让它在同一时间只做一件事;作为浏览器脚本语言,JavaScript...的主要用途是与用户互动,以及操作DOM,避免了复杂性,比如假设JavaScript有两个线程,那么在同一时间进行添加删除节点操作,为浏览器分辨以哪个线程为准带来困难,所以单线程是它作为浏览器脚本语言的优势...注:虽然为了利用多核CPU的计算能力,HTML5提出了web worker标准,允许JavaScript创建多个线程,但是子线程完全受主线程控制,且不得操作DOM,所以也并没有改变JavaScript单线程的本质

    85710

    【转载】XHTML 结构化之二:案例分析:W3school 的结构化标记

    同样地,新闻站点通常拥有多个 div,这些 div 的 class 可以命名为 "newsitem" 或者别的什么。 然而不是所有的站点都需要 div。...粘性贴纸理论 把 id 属性比作粘性贴纸来进行思考应该是有帮助的。我会在冰箱上拍一张贴纸来提醒自己去买牛奶,电话上面也会贴一张,提醒我给一位逾期缴纳的客户打电话。...为了实现所谓的特殊处理,你需要使用这个特殊的id在样式表中编写若干规则,或者在JavaScript文件中添加几行代码。...同时,如果你将 id 与 JavaScript 在表单中配合使用,那么 id 名称和值必须是合法的 JavaScript 变量。空格和连字号,特别是连字号,是不被允许的。...同时也提供了为访问者创造更灵活多样的外观的可能性。并且在无 CSS 的环境中,我们的结构良好的标记依然可以毫不混乱地提供所有的内容。

    1.7K160

    前端 50 道面试题与答案邀你轻松拿到Offer

    是XHTML标签,无兼容问题;@import 是在 CSS2.1 提出的,低版本的浏览器不支持。...在语义不明显时,既可以使用 div 或 p 时,尽量用 p, 因为 p 在默认情况下有上下间距,对兼容特殊终端有利; 3. 不要使用纯样式标签,如:b、font、u等,改用css设置; 4....没有语意 三十三、如何实现浏览器内多个标签页之间的通信? 调用 localstorge、cookies 等本地存储方式 三十四、什么是 FOUC?如何来避免 FOUC?...少用全局变量、缓存DOM节点查找的结果。减少 IO 读取操作 6. 避免使用 CSS Expression(css表达式)又称 Dynamic properties(动态属性) 7....使用JavaScript和DOM实现局部刷新 四十二、CSS中 em 与 rem 指的是什么?有什么区别?

    1.6K20

    HTML编码规范

    使用 id、属性选择作为 hook 是更好的方式。 [强制] 同一页面,应避免使用相同的 name 与 id。...3.3 CSS和JavaScript引入 [强制] 引入 CSS 时必须指明 rel="stylesheet"。...解释: text/css 和 text/javascript 是 type 的默认值。 [建议] 展现定义放置于外部 CSS 中,行为定义放置于外部 JavaScript 中。...[建议] 添加 width 和 height 属性,以避免页面抖动。 [建议] 有下载需求的图片采用 img 标签实现,无下载需求的图片采用 CSS 背景图实现。...无下载需求的图片,比如:icon、背景、代码使用的图片等,尽可能采用 css 背景图实现。 6 表单 6.1 控件标题 [强制] 有文本标题的控件必须使用 label 标签将其与其标题相关联。

    3.6K41

    我们为什么不使用CSS框架

    CSS 变量有一个值,可以使用var()函数在其他 CSS 声明中使用。变量可以通过 CSS 或 JavaScript 进行更新。当发生这样的更新时,所有的因变量都会相应的更新。...实现该功能所需的 JavaScript 只包含对一个类的更改。...出于演讲需要,Tolinski 将设计系统简化为使该设计独一无二的关键组件:颜色、类型、间距、字符、高度和元素(例如卡片或手风琴折叠菜单)。 调色板可以用 CSS 变量进行编码。...Tolinski 建议使用margin-left或margin-right(margin-up或margin-down)来避免边距重叠 的陷阱,但不能同时使用。...[……] 以变量为基础,只写你需要的。 对于任何颜色、字体、间距都要使用变量,这样你的整个网站就可以一下子更新或配置。如果所有组件都使用自定义属性,则不必为创建独特的组件而担心。

    44910

    求职 | 史上最全的web前端面试题汇总及答案2

    提供的,只能用于加载CSS; ②页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载; ③import是CSS2.1 提出的,只在IE5以上才能被识别,而link是...②JS引擎:解析和执行javascript来实现网页的动态效果。 最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。...①它的功能是把对应的字符串解析成JS代码并运行; ②应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。...(5) 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。 (6) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。...④闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产生一个循环) 5、线程与进程的区别 ①一个程序至少有一个进程,一个进程至少有一个线程。

    6.1K20

    【编码规范】HTML编码风格指南

    id、class 命名,在避免冲突并描述清楚的前提下尽可能短。 示例: div id="nav">div> 使用 id、属性选择作为 hook 是更好的方式。 同一页面,应避免使用相同的 name 与 id。...解释: text/css 和 text/javascript 是 type 的默认值。 展现定义放置于外部 CSS 中,行为定义放置于外部 JavaScript 中。...有下载需求的图片采用 img 标签实现,无下载需求的图片采用 CSS 背景图实现。 解释: 产品 logo、用户头像、用户产生的图片等有潜在下载需求的图片,以 img 形式实现,能方便用户下载。...无下载需求的图片,比如:icon、背景、代码使用的图片等,尽可能采用 CSS 背景图实现。 6 表单 6.1 控件标题 有文本标题的控件必须使用 label 标签将其与其标题相关联。

    3.2K30

    页面导入样式时,使用link和@import有什么区别?

    所以会出现一开始没有css样式,闪烁一下出现样式后的页面(网速慢的情况下) 区别3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。...区别4:link支持使用Javascript控制DOM去改变样式;而@import不支持。在html设计制作中,css有四种引入方式。...示例: div style="display: none;background:red">div> 这通常是个很糟糕的书写方式,它只能改变当前标签的样式,如果想要多个 div> 拥有相同的样式,...使用这种方式,所有的 CSS 代码只存在于单独的 CSS 文件中,所以具有良好的可维护性。...; 小结:我们应尽量使用 标签导入外部 CSS 文件,避免或者少用使用其他三种方式。

    4.1K20
    领券