11定位与层叠关系

11课定位与层叠关系

11.1定位

参考点概念

一些进行位移的功能都是要以一个参考点作为基准,左移多少,右移多少,上移多少,下移多少.

定位分类

  • 定位分类

    • 默认定位 static… 正常文档流

    • 相对定位 relative

    • 绝对定位 absolute

    • 固定定位 fixed

    • 粘性定位 sticky

定位属性逼不得已不要去用,不好管理,做位移时,做层叠时才用


绝对定位 absolute

absolutely的参考点是距离最近的一个被定位的位置.

相对定位 relative

参考系是原来的自己

通过relative进行定位

mark

离自己的的位置,向左边走100px

mark

{relative}

mark

这个是浏览插件用来检测某个元素的参考定位是谁

固定定位 fixed

fixed上的那些小广告都是这样的!!也用于做贴边固定栏,比如百度百科的目录导航!!

mark

mark

酷炫的sticky

mark

先正常移动,达到某个位置以后,就会fixed,

拿出手机,手机上面的a~z的标签,正常情况下会移动,达到某个位置会sticky一会,达到某个位置就又会消失.

mark

悬浮导航栏!

唯品会的导航就是这样的!!!会一直停在上面.

sticky关键代码

mark

position:sticky; top:10px;

定位标签的特性

  • relative永远是参考自己没有定位前的坐标为原点进行位移

  • absolutely是参考离自己最近的参考系点进行定位.

  • 某个元素一旦拥有了定位标签,则自己也成为了一个参考系.

脱离文档流特性

inline-block 依次排开,红红绿红红.

relative定位以后

mark

用relative,原来的位置还留着

mark

mark

绝对定位就不会再占原来的位置了.这个属性相于float一样脱离了原来文档流的束缚

如同float一样,如果脱离了文档流的束缚,就会出现塌陷的可能

mark

mark

mark

具有脱离文档流属性的标签总结
  1. absolute
  2. fixed
  3. float

三者都会脱离文档流.以此特性其父也会造成塌陷,与之前学float时的解决办相同

11.2层叠

mark

后来居上排列

书写的时候,

​ 后面的元素会覆盖前边元素之上.

同一层级的排列规则

问题:将background,块级元素,浮动元素,行内元素进行排序怎么排?

答案:

  • background

    • 块级元素
    • 浮动元素
      • 行内元素(内容才是最重要的,所在在最上面)

    ​(下面代码说明问题)

mark

background / border

​ 负值的z-index

​ 块级元素

​ 浮动元素

​ 行内元素(内容很重要,所以级别高)

​ z-index auto

​ 正值的z-index

z-index随着定位的出现而出现

z-index 只有定位的元素才会有效果.

同层排列示意图

mark

这里注意一点,如果同一层叠上下文内,负值的z-index是显示在背景之上的!!

怎么没有frameset,记得老师曾说过,frame是与body一个级别的标签!!!!所以你觉得呢.

z-dindex排列规则

元素不具有定位时,谁大谁牛逼

mark

​ 这个悬浮打开的栏目,要在轮转图之上,怎么保证呢?用z-index

mark

​ 利用z-index来实进行标记,值大者,优先显示在上层

父级有定位属性了,依然是儿子谁大谁牛逼

元素具有了定位属性后

mark

mark

父级有了z-index,这个时候就拼爹

父级设定了z-index后,儿子就不管用了,这个时候拼爹,谁爹大谁在上

mark

负值的z-index

父级有定位没定位时,负值都会在下边

mark

mark

父级默认z-index:auto,图片还在下面(不认爹)

fmark

父级设置了z-index以后,图片就飘上来了. (认爹了)(父亲得道,儿子也升开)

mark

z-index:auto与z-index:0的最大区别就是

z-index:auto ,一个儿子自己决定自己的地位,

z-index:0; 老爸出身就是0,儿子认爹了.

层级有点类似小数点的关系

如果父亲A-index:2;儿子a-index:3

​ 那么儿子a的整体级别就是2.3级

如果父亲B为0.儿子为3

​ 那儿子b的层级就是0.3级

如果父亲C为auto,儿子c为3,

​ 那儿子c就是 3级,也就是3级, 3级与0.3级就完全不是一个概念了

所以abc三个儿子的排序为 c>a>b

z-index规则总结

​ 1.没有定位父级的时候,谁的index大谁在上

​ 2.父级有定位的时候,依然是子级谁的index大谁在上(谁大谁)

​ 3.父级设定z-index,谁的父级的index大谁在上(拼爹)

​ 4.负值

​ 4.1父级有定位没定位时,负值都会在下边

​ 4.2父级默认z-index:auto,图片还在下面(不认爹)

​ 4.3父级设置了z-index以后,图片就飘上来了. (认爹了)(父亲得道,儿子也升开)

层叠排序与第一个层上的元素排序

mark

mark

所有前后排理规则总结

1默认元素,后来居上,按照加载顺序来

2同一层级排列的 按层级排列(术语:层叠上下文之间的排列)

3z-index拼爹排列规则(术语:层叠水平之间的排列)

共同构成整个网页内容的排列规则.

问题汇总

  • [x] z-index:auto与z-index:0有很大区别?区别在哪?

    答:auto是脱离父子关系

    ​ 0是建立了父子关系,被爹坑.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值