CSS-定位流

定位流有四个定位属性可以用:right,left,top,bottom(记住同一方向只能使用一个)

1、相对定位:position: relative;

(1)相对定位是**不脱离标准流**的, 会继续在标准流中占用一份空间
(2)相对定位就是相对于自己以前在标准流中的位置来移动

image.png

当给相对定位的元素设置margin/padding属性时,是给元素移动前(标准流)的位置设置的

2、绝对定位:position: absolute;

(1)绝对定位的元素是**脱离标准流**的, 不会占用标准流中的位置
(2)绝对定位就是相对于body或者某个定位流中的祖先元素来定位
(3)绝对定位的元素是脱离标准流的, 所以绝对定位的元素不区分块级元素/行内元素/行内块级元素

3、固定定位:position: fixed;

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

注意点:

(1)固定定位的元素是脱离标准流的, 不会占用标准流中的位置
(2)固定定位的元素是脱离标准流的, 所以绝对定位的元素不区分块级元素/行内元素/行内块级元素

4、z-index属性

用于指定定位的元素的覆盖关系

  • 定位元素的覆盖关系:
    (1)默认情况下定位的元素一定会盖住没有定位的元素
    (2)默认情况下写在后面的定位元素会盖住前面的定位元素
    (3)默认情况下所有元素的z-index值都是0, 如果设置了元素的z-index值, 那么谁比较大谁就显示在前面
  • 定位元素的从父现象

(1)父元素没有z-index值, 那么子元素谁的z-index大谁盖住谁
(2)父元素z-index值不一样, 那么父元素谁的z-index大谁盖住谁

5、关于居中

  • 因为绝对定位和固定定位脱离了标准流,自动转化成了行内块元素,所以无法使用margin:0 auto;来水平居中,但是可以使用如下方法:
    水平居中:left:50%; margin-left:负宽度的一半
    垂直居中:top:50%; margin-top:负高度的一半
  • 相对定位并没有脱离标准流,没有自动转成行内块元素,所以可以使用margin:0 auto来水平居中

新学习的方法:

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,870评论 1 92
  • 定位流分类:一、相对定位:{position: relative;}相对自己在以前标准流中的位置上右下左移动。要配...
    幸运密码_xymm16888阅读 306评论 0 0
  • 定位流 定位流分类相对定位绝对定位固定定位静态定位 相对定位 什么是相对定位?相对定位就是相对于自己以前在标准流中...
    喝酸奶要舔盖__阅读 277评论 0 0
  • 案主:L男士年龄:50岁左右咨询时长:20分钟咨询形式:微信语音阿卡西阅读师:圆零 我跟案主网上相识,从未见过面,...
    圆零阅读 2,363评论 0 0
  • 洁白的墙面 泛着些微黄色 那是 记忆中 学校的颜色 回忆一幕幕 如电影般 在脑海里回放 仿佛被划了的影片 都变的模...
    Erin棋落阅读 240评论 0 0