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

深入理解z-index

下面我们一起来探究一下页面box之间是如何重叠,换句话说,浏览器是怎么决定一个boxc坐标的。 默认重叠 对于重叠元素,浏览器默认会按下面的顺序重叠。...浏览器首先按照默认重叠规律,将同一个Stacking Context下所有元素排好顺序,然后按照这个顺序渲染到Stacking Context上。...也就是说,node3-1完全可以被渲染在node2-1后面,只要在前面所说默认重叠顺序中,node3-1具有的c坐标比node2-1来得低即可。 整个“贴纸”过程如下图。...那么多个Stacking Context之间如何决定重叠顺序呢?浏览器一般按下面的规则来决定其顺序,这实际上就是之前我们提到默认重叠顺序完整版。...#b1和#b2是.wrapper子Stacking Context,浏览器会首先组合#b1以及组合#b2,之后再将#b1和#b2合到.wrapper上。

97620

【CSS】207-深入理解z-index

下面我们一起来探究一下页面box之间是如何重叠,换句话说,浏览器是怎么决定一个boxc坐标的。 默认重叠 对于重叠元素,浏览器默认会按下面的顺序重叠。...浏览器首先按照默认重叠规律,将同一个Stacking Context下所有元素排好顺序,然后按照这个顺序渲染到Stacking Context上。...也就是说,node3-1完全可以被渲染在node2-1后面,只要在前面所说默认重叠顺序中,node3-1具有的c坐标比node2-1来得低即可。 整个“贴纸”过程如下图。...那么多个Stacking Context之间如何决定重叠顺序呢?浏览器一般按下面的规则来决定其顺序,这实际上就是之前我们提到默认重叠顺序完整版。...#b1和#b2是.wrapper子Stacking Context,浏览器会首先组合#b1以及组合#b2,之后再将#b1和#b2合到.wrapper上。

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

说一说z-index容易被忽略那些特性

What No One Told You About Z-Index,文中介绍了很多关于z-index使用关键点。...然后每个span都设置为position: absolute,三个span位置稍微错开以便可以仔细观察它们之间堆叠顺序。然后将第一个span元素z-index设置为1,其他两个不设置。...当不包含z-index属性和position属性时,规则很简单,所有元素叠放顺序与其所在HTML文档中出现先后顺序一致。(当然使用负margin来重叠内联元素特例除外。)...堆叠上下文 拥有共同父元素元素共同前移或者后移即构成了一个堆叠上下文。...通俗讲,如果某个元素被置于其所在堆叠上下文最底层,我们是没有办法让它显示在另一个拥有更高堆叠顺序堆叠上下文元素之上,哪怕你将其z-index设置为无限大。

69520

说一说z-index容易被忽略那些特性

What No One Told You About Z-Index,文中介绍了很多关于z-index使用关键点。...然后每个span都设置为position: absolute,三个span位置稍微错开以便可以仔细观察它们之间堆叠顺序。然后将第一个span元素z-index设置为1,其他两个不设置。...当不包含z-index属性和position属性时,规则很简单,所有元素叠放顺序与其所在HTML文档中出现先后顺序一致。(当然使用负margin来重叠内联元素特例除外。)...堆叠上下文 拥有共同父元素元素共同前移或者后移即构成了一个堆叠上下文。...通俗讲,如果某个元素被置于其所在堆叠上下文最底层,我们是没有办法让它显示在另一个拥有更高堆叠顺序堆叠上下文元素之上,哪怕你将其z-index设置为无限大。

1.9K50

WecTeam:从手机滚动丢帧问题,学习浏览器合成与渲染层优化

渲染层合成(Composite):多个绘制后渲染层按照恰当重叠顺序进行合并,而后生成位图,最终通过显卡展示到屏幕上。...所以为了纠正错误交叠顺序,浏览器必须让原本应该”盖在“它上边渲染层也同时提升为合成层。 ?...消除隐式合成就是要消除元素交叠,拿这个 DEMO 来说,我们只需要给 h1 标题 z-index 属性设置一个较高数值,就能让它高于页面中其他元素,自然也就没有合成层提升必要了。...这个时候我们只需要把这个动画节点 z-index 属性值设置得大一些,让层叠顺序高过于页面其他无关节点就行。...当然并不是盲目地设置 z-index 就能避免,有时候 z-index 也还是会导致隐式合成,这个时候可以试着调整一下文档中节点先后顺序直接让后边节点来覆盖前边节点,而不用 z-index 来调整重叠关系

1.5K20

前端面试之CSS重点概念精讲

,其层叠顺序就会变高 分两种情况 如果层叠上下文元素「不依赖」z-index数值,则其层叠顺序z-index:auto 可看成z-index:0 如果层叠上下文元素「依赖」z-index数值,则其层叠顺序由...不支持z-index层叠上下文元素天然是z-index:auto级别,「层叠上下文元素」和「定位元素」是一个层叠顺序。...---- z-index z-index负值 「z-index是支持负值」,z-index负值渲染过程就是一个「寻找第一个层叠上下文元素过程」,然后层叠顺序止步于这个层叠上下文元素 要实现「父元素覆盖子元素...z-index使用准则 对于非浮层元素,避免设置z-index值,z-index值没有任何道理需要超过2 定位元素一旦设置z-index值,就从普通定位元素变成了层叠上下文元素,相互间层叠顺序就发生了根本变化...渲染渲染概念跟层叠上下文密切相关。简单来说,拥有z-index属性定位元素会生成一个层叠上下文,一个生成层叠上下文元素就生成了一个渲染层。

2.4K30

浏览器合成与渲染层优化

渲染层合成(Composite):多个绘制后渲染层按照恰当重叠顺序进行合并,而后生成位图,最终通过显卡展示到屏幕上。...所以为了纠正错误交叠顺序,浏览器必须让原本应该”盖在“它上边渲染层也同时提升为合成层。 ?...消除隐式合成就是要消除元素交叠,拿这个 DEMO 来说,我们只需要给 h1 标题 z-index 属性设置一个较高数值,就能让它高于页面中其他元素,自然也就没有合成层提升必要了。...这个时候我们只需要把这个动画节点 z-index 属性值设置得大一些,让层叠顺序高过于页面其他无关节点就行。...当然并不是盲目地设置 z-index 就能避免,有时候 z-index 也还是会导致隐式合成,这个时候可以试着调整一下文档中节点先后顺序直接让后边节点来覆盖前边节点,而不用 z-index 来调整重叠关系

1.8K51

CSS 中重要层叠概念

最近在项目中遇到了一个问题,menu-bar 希望始终显示在最上面,而在之后元素都显示在它之下,当时设置z-index 也没有效果,不知道什么原因。...层叠等级比较只有在同一个层叠上下文元素中才有意义 在同一个层叠上下文中,层叠等级描述定义是该层叠上下文中元素在Z轴上上下顺序 注意,层叠等级并不一定由 z-index 决定,只有定位元素层叠等级才由...z-index 决定,其他类型元素层叠等级由层叠顺序、他们在HTML中出现顺序、他们父级以上元素层叠等级一同决定,详细规则见下面层叠顺序介绍。...z-index 只适用于定位元素,对非定位元素无效,它可以被设置为正整数、负整数、0、auto,如果一个定位元素没有设置 z-index,那么默认为auto; 元素 z-index 值只在同一个层叠上下文中有意义...Vue 项目 从 Vue-Router 设计讲前端路由发展 在项目中如何正确使用 Webpack Vue 服务端渲染 Axios 与 Fetch 该如何选择

89150

css层叠上下文和z-index使用和思考

position 为 fixed,无需设置 z-index 值。 flex 子项,并且 z-index 不是 auto。 opacity 设置为小于 1。...上边这些情况都会生成一个层叠上下文,在自己层叠上下文内进行一层一层渲染。...再举个例子,因为比较是所在层叠上下文顺序,因此平常开发中会遇到设置 z-index = 999(同时是定位元素了),也无法到最上层。原因就是它所在层叠上下文比较低,类似于下边情况。...定位元素天生高于普通元素 设置了 relative 或者 absolute 元素会高于其他元素,因此这种情况下完全可以不设置 z-index,如果设置z-index 就会生成新层叠上下文,可能会造成堆叠混乱...需要在 commit 以及打包流水线中进行强制卡控,如果发现 z-index 使用了数字就禁止提交 commit,如果强制用 -n 提交了,就在流水线中禁止打包。

14840

彻底搞懂CSS层叠上下文、层叠等级、层叠顺序z-index

属性问题,具体问题不太好描述,总结起来就是当给元素和父元素色设置position属性和z-index相关属性后,页面上渲染元素层级结果和我预想不一样。...一个“片面”理解 以往,由于自己使用z-index频率不大,所以对这个 CSS 属性存在比较片面的认识。一直认为z-index就是用来描述定义一个元素在屏幕Z轴上堆叠顺序。...如何产生“层叠上下文” 前面说了那么多,知道了“层叠上下文”和“层叠等级”,其中还有一个最关键问题:到底如何产生层叠上下文呢?如何让一个元素变成层叠上下文元素呢?...说明:当给.box设置display: flex时,.parent就变成层叠上下文元素,根据层叠顺序规则,层叠上下文元素background/border层叠等级小于z-index值小于0元素层叠等级...小测试 下面的代码,我会把最终页面渲染结果放在代码之后,有兴趣“童鞋”可以分析一下,各个元素层叠等级,最后来确定这些元素哪个在上哪个在下。

2K31

面试官:CSS 面试题集锦

z-index和叠加上下文是如何形成z-index 层叠上下文关系层叠上下文z-index z-index 是什么?...z-index 属性设置元素堆叠顺序,拥有更高堆叠顺序元素总是会处于堆叠顺序较低元素前面 该属性设置一个定位元素沿着 z 轴位置,z 轴定义为垂直延申到显示区轴,如果为正数,则离用户更加近...非浮层元素(对话框等)尽量不要用z-index(通过层叠顺序或者dom顺序或者通过层叠上下文进行处理) z-index设置数值时尽量用个位数 让absolute元素覆盖正常文档流内元素(不用设z-index...,自然覆盖) 让后一个absolute元素覆盖前一个absolute元素(不用设z-index,只要在HTML端正确设置元素顺序即可) 什么情况下使用z-index?...当absolute元素覆盖另一个absolute元素,且HTML端不方便调整DOM先后顺序时,需要设置z-index: 1。

3.3K30

css 对元素在文档中排列影响

isolate 元素;     10)、will-change 中指定了任意 css 属性,即便没有直接指定这些属性对值;     11)、-webkit-overflow-scrolling 属性设置为...touch 元素; z-index   z-index使用于定位元素,对非定位元素无效,它可以被设置为正整数、负整数、0、auto;如果一个定位元素没有设置 z-index ,那么默认为 auto...如果父级层叠上下文层叠等级低于另一个层叠上下文,那么它 z-index再高也没用; 层叠顺序   层叠顺序(层叠次序、堆叠顺序)描述是元素在同一个层叠上下文中顺序规则,从底部开始,共有七种层叠顺序...)、正 z-index 值;   除了层叠顺序规则之外,还有一个规则,那就是:后来居上; 文档流   文档流分三种: 常规流、浮动、绝对定位; BFC   BFC(block Formatting Context...)块级格式化上下文,是用于布局块级盒子一块渲染区域,相对还有 IFC (inline Formattion Context) 内联格式化上下文;   一个 BFC 范围包含创建该上下文元素所有子元素

1.8K20

抖音三面:硬件加速中“层”和层叠上下文中“层”,是一个东西吗?

简单来说,拥有z-index属性定位元素会生成一个层叠上下文,一个生成层叠上下文元素就生成了一个渲染层。...隐式合成 当出现一个合成层后,层级顺序高于它堆叠元素就会发生隐式合成。 我们给C、D元素设置层级,z-index分别是3和4;又在C元素上使用3D变换,提升成了合成层。...此时,层级高于它D元素就发生了隐式合成,也变成了一个合成层。 隐式合成出现根本原是,元素发生了堆叠,浏览器为了保证最后展示效果,不得不把层级顺序更高元素拎出来盖在已有合成层上面。...正确使用硬件加速就是在渲染效率和性能损耗之间找到一个平衡点,让页面渲染迅速不白屏,又流畅丝滑。...,如果要实现一个100X100元素,可以给宽高都设置为10px,再使用transform:scale(10)放大10倍,这样占用内存只有直接设置1/100; 结语 回到开头几个问题,答案不难在文中找到

75810

【CSS】205-CSS“层”峦“叠”翠

本文作者:高峰,360奇舞团前端工程师,W3C性能工作/WOT工作组成员。...z-index使用似乎就是这么简单,对吧?...笔者将逐步引导大家深入理解z-index用法。 一、没有使用z-index时元素如何堆叠? 首先,我们先了解下默认情况下,元素堆叠,即在没有使用z-index时,元素是如何堆叠。...答案显然是肯定使用z-index可以自定义堆叠顺序z-index值可以为整数(正数、负数、0均可)。使用方法很简单。...在前面的内容中,之所以有些元素渲染顺序会受到z-index影响,是因为它们都因为某种原因产生了一个堆叠上下文,而不仅仅是上文提到定位元素。 那么到底什么情况下会产生堆叠上下文呢?

1K20

【十天自制软渲染器】DAY 04:Z-buffering

虽然最后渲染结果能看出来这是个脑袋,但是嘴巴处有很明显穿帮。这一天我们就学习一下,如何利用 Z-buffering(深度缓冲)来解决层叠问题。 ?本文源码 ?...: 首先画 z-index=1 处山 然后画 z-index=2 处草原 最后画 z-index=3 树木 在现代主流 UI 渲染引擎中,各个元素先后层级顺序基本上都是用「画家算法」这种思路决定...: 网页通过 CSS z-index 控制层级顺序 iOS 通过 layer.zPosition 控制层级顺序 Android 通过 index 控制层级顺序 平常画 UI 时,我们可以简单粗暴把各个...举个最简单例子,下图中三个互相交错三角形,只使用 z-index 是无法区分层级,更不要说绘制了: ? day04_three_triangles ?...最后我们就得到了一份深度缓冲,它记录了这张图片层级顺序,最终渲染时我们按这个深度缓冲逐像素渲染三角形即可。

81310

Geoserver2.11矢量切片与OL3中调用展示

概述: 本文讲述在Geoserver2.11中如何进行矢量切片以及OL3中调用展示。...矢量切片简介: 一、提出 GIS底图一直使用金字塔技术进行切图,使用户能够快速访问指定级别的地图或者影像。但是切图本身是一张图片,无法进行交互。...二、矢量切片定义 矢量切片是一种利用协议缓冲(Protocol Buffers)技术紧凑二进制格式用来传递信息。当渲染地图时矢量切片使用一系列储存内部数据进行制图。...栅格切片 Geoserver中矢量切片发布: 在geoserver中可发布单个图层,也可发布一个图层,上述示例是发布一个图层。 1、选择发布图层() ?...选择发布图层 2、切换到“Tile Cache”面板,设置切片参数 ? 设置切片参数 ?

1.8K30

金九银十前端面试题总结(附答案)

其特点如下:不依赖分辨率支持事件处理器最适合带有大型渲染区域应用程序(比如谷歌地图)复杂度高会减慢渲染速度(任何过度使用 DOM 应用都不快)不适合游戏应用(2)Canvas: Canvas是画布,...两者区别如下:(1)在渲染树中display:none会让元素完全从渲染树中消失,渲染时不会占据任何空间;visibility:hidden不会让元素从渲染树中消失,渲染元素还会占据相应空间,只是内容不可见...在实际使用中,css-loader 执行顺序一定要安排在 style-loader 前面。...z-index属性在什么情况下会失效通常 z-index 使用是在有两个重叠标签,在一定情况下控制其中一个在另一个上方或者下方出现。z-index值越大就越是在上层。...解决:设置该元素position属性为relative,absolute或是fixed中一种;元素在设置z-index同时还设置了float浮动。

73740

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券