定位流

一、定位流分类

1.1相对定位
1.2绝对定位
1.3固定定位
1.4静态定位

二、什么是相对定位?

2.1相对定位就是相对于自己以前在标准流中的位置来移动
2.2相对定位注意点

1.相对定位是不脱离标准流的, 会继续在标准流中占用一份空间
2.在相对定位中同一个方向上的定位属性只能使用一个
3.由于相对定位是不脱离标准流的, 所以在相对定位中是区分块级元素/行内元素/行内块级元素
4.由于相对定位是不脱离标准流的, 并且相对定位的元素会占用标准流中的位置, 所以当给相对定位的元素设置margin/padding等属性的时会影响到标准流的布局

2.3.相对定位应用场景

1.用于对元素进行微调
2.配合后面学习的绝对定位来使用

三.什么是绝对定位?

绝对定位就是相对于body来定位

2.绝对定位注意点

2.1绝对定位的元素是脱离标准流的
2.2绝对定位的元素是不区分块级元素/行内元素/行内块级元素

3.绝对定位规律

1.默认情况下所有的绝对定位的元素, 无论有没有祖先元素, 都会以body作为参考点

2.如果一个绝对定位的元素有祖先元素, 并且祖先元素也是定位流, 那么这个绝对定位的元素就会以定位流的那个祖先元素作为参考点
2.1只要是这个绝对定位元素的祖先元素都可以
2.2指的定位流是指绝对定位/相对定位/固定定位
2.3定位流中只有静态定位不行

3.如果一个绝对定位的元素有祖先元素, 并且祖先元素也是定位流, 而且祖先元素中有多个元素都是定位流, 那么这个绝对定位的元素会以离它最近的那个定位流的祖先元素为参考点

4.如果一个绝对定位的元素是以body作为参考点, 那么其实是以网页首屏的宽度和高度作为参考点, 而不是以整个网页的宽度和高度作为参考点

5.一个绝对定位的元素会忽略祖先元素的padding

四、相对定位与绝对定位弊端

1.相对定位弊端:

相对定位不会脱离标准流, 会继续在标准流中占用一份空间, 所以不利于布局界面

2.绝对定位弊端:

默认情况下绝对定位的元素会以body作为参考点, 所以会随着浏览器的宽度高度的变化而变化

3.如何让绝对定位的元素水平居中

只需要设置绝对定位元素的left:50%;
然后再设置绝对定位元素的 margin-left: -元素宽度的一半px;

五、固定定位

1.什么是固定定位?

固定定位和前面学习的背景关联方式很像, 背景定位可以让背景图片不随着滚动条的滚动而滚动, 而固定定位可以让某个盒子不随着滚动条的滚动而滚动

2.注意点:

1.固定定位的元素是脱离标准流的, 不会占用标准流中的空间
2.固定定位和绝对定位一样不区分行内/块级/行内块级

3.z-index属性

1.什么是z-index属性?
默认情况下所有的元素都有一个默认的z-index属性, 取值是0.
z-index属性的作用是专门用于控制定位流元素的覆盖关系的
(1)默认情况下定位流的元素会盖住标准流的元素
(2)默认情况下定位流的元素后面编写的会盖住前面编写的
(3)如果定位流的元素设置了z-index属性, 那么谁的z-index属性比较大, 谁就会显示在上面

2.注意点:
从父现象
(1)如果两个元素的父元素都没有设置z-index属性, 那么谁的z-index属性比较大谁就显示在上面
(2)如果两个元素的父元素设置了z-index属性, 那么子元素的z-index属性就会失效, 也就是说谁的父元素的z-index属性比较大谁就会显示在上面

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 网页布局方式——定位流 标签(空格分隔): H5+CSS [TOC] 网页布局方式——定位流 定位流分类 相对定位...
    袁俊亮技术博客阅读 682评论 0 3
  • ## 定位流 # 相对定位 # 绝对定位 # 子绝父相 # 固定定位 # z-index属性 定位的元素会盖住没有...
    KsKison阅读 433评论 0 0
  • 定位流分类 相对定位->relative 绝对定位->absolute 固定定位->fix...
    白的吓人阅读 392评论 0 0
  • Java虚拟机的原理。所谓虚拟机,就是一台虚拟的机器,他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可分为...
    养码哥阅读 493评论 0 3