新手学习HTML的position定位技术的学习笔记

1、position的取值

position属性的取值有absolute,relative,fixed;static
1、static: 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)

2、absolute:绝对定位,脱离原来的位置进行定位(可以说是重新建立在另外的一个层,与原来的层没关系,进行新的定位),当有父子关系的元素定位的时候absolute相对于最近的有父级元素进行定位,如果没有则相当于文档定位

3、relative:相对定位,在原来的位置进行定位(定位的时候也已经不在原来的层,已经重新建立一个层但原来层的位置也还占着),相对于自己定位
4、fixed:固定定位,并相对于浏览器视窗定位,因此不随文档滚动而移动

2、代码举例说明

1。新建两个div,黄色的div设置透明度初始页面如下
这里写图片描述

这里写图片描述
两个div图片
这里写图片描述
2.给黄色的div设置为可定位:position:absolute刷新效果如下
这里写图片描述
黄色与黑色的div重合,这是因为黄色的div使用了绝对能定位,脱离原来的层,并且不占原来的位置,所以黑色在原来的层的位置会发生改变,就上去了,不会被黄色的顶开。设置一下黄色定位的left和top如下
这里写图片描述
这里写图片描述
1.将黄色的div的position:relative效果如下:
这里写图片描述
此时两个div的位置未发生改变,但是已经分层了,若改变黄色的位置,黑色的仍然不变,这就是虽然脱离原来的层但是还占着原来的位置,黑色人仍然会被顶开这里写图片描述
这里写图片描述
父子关系的情况下
1.position:absolute会根据最近的父亲来定位
初始三个div
这里写图片描述
这里写图片描述
给红色的div一个定位
这里写图片描述
这里写图片描述
此时红色的div是根据文档定位,所以会往右边,即相对于文档左移20px
当将黄色设置为可定为元素的时候,这红色会相对于黄色左移20px如下图
这里写图片描述
这里写图片描述
当给黑色的div设置为可定位的时候,黄色不变动,此时红色会根据黑色相对左移20px即aboslute会根据最近有定位的父级元素定位,没有父级就根据文档定位
这里写图片描述这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/FateInTheSky/article/details/82491896