美文网首页
CSS深入浅出(4)-层叠上下文和层叠顺序

CSS深入浅出(4)-层叠上下文和层叠顺序

作者: 如梦初醒Tel | 来源:发表于2019-03-15 16:27 被阅读0次

层叠顺序

顺序
  1. 先创建一个div背景
    添加一个border,这时候看看谁离用户更近一点。


    image.png

    更改背景颜色,发现


    image.png
    得出结论 border比background更靠近用户

添加文字,并且缩进,发现文字比border更靠近用户


image.png

然后在比较一下div块级元素,并且设置margin-top:-20px;

image.png
从这发现内联元素比块级元素更靠近用户

下面看看浮动元素,设置浮动之后,在将内联元素缩进,发现


image.png

所以内联元素>浮动和块级元素,但是怎么看块级和浮动呢
将之前注释的注销,看看


image.png
发现浮动比块级更靠近用户

现在看一下儿子元素里面的内联元素和内联元素的比较关系


image.png

发现白色的覆盖红色的字体
从这总结到一点:后来居上

换一个角度看看浮动元素里面的


image.png

内联元素中红色的方块比浮动的黑色方块更靠近用户

下面看看position:relative

image.png
并且向上移动一下,它覆盖了粉色的框,在对比一下和浮动的蓝色框
image.png
会不会是这个position在最下面影响了呢,把蓝色框的浮动放在最下面试试看
image.png

将蓝色框放在最下面之后,在向上移动,仍然是被黄色宽覆盖,说明position比他们更靠近用户。

不明白的话就看看这个博客,深入理解CSS中的层叠上下文和层叠顺序
下面就是z-index

重点 z-index只对定位元素有效
比如上图中粉色的和蓝色的都是在黄色框下面,现在添加z-index

image.png
最后的效果如下,没用

那么什么是定位元素?position属性

image.png
黄色被灰色的覆盖,但是加上了z-index之后
image.png
黄色的覆盖灰色的。
那么z-index后面跟的值越大 那么和用户就越近
例子

堆叠上下文

MDN

  • z-index值不为auto的flex项(父元素display:flex|inline-flex).
  • 元素的opacity值不是1.
  • 元素的transform值不是none.
  • 元素mix-blend-mode值不是normal.
  • 元素的filter值不是none.
  • 元素的isolation值是isolate.
  • will-change指定的属性值为上面任意一个。
  • 元素的-webkit-overflow-scrolling设为touch.

相关文章

网友评论

      本文标题:CSS深入浅出(4)-层叠上下文和层叠顺序

      本文链接:https://www.haomeiwen.com/subject/xatlmqtx.html