css定位布局

1.定位流分类

1.1 静态定位

是所有的元素的默认定位方式,将一个元素定位在默认文档流中

position:static;

1.2 相对定位

相对定位就是相对于自己以前在标准流的位置来移动

position: relative;   

通过top right bottom left 来设置位置

设置相对定位时,元素还在标准流中,会继续在标准流占据一份空间,一个方向上的定位属性只能用一个,一般配合绝对定位来使用。

1.3 绝对定位

绝对定位就是相对于body来定位,该元素就脱离标准流了

position: absolute;

通过top right bottom left 来设置位置

如果⼀个绝对定位的元素有祖先元素 , 并且祖先元素也是定位流 , 而且祖先元素中有多个元素都是定位流, 那么这个绝对定位的元素会以离它最近的那个定位流的祖先元素为参考点。 ⼀个绝对定位的元素会忽略祖先元素的 padding
子绝父相 : 相对定位不会脱离标准流 , 会继续在标准流中占用⼀份空间 , 所以不利于布局界面, 下绝对定位的元素会以 body 作为参考点 , 所以会随着浏览器的宽度高度的变化而变化,子元素用绝对定位 , 父元素用相对定位
绝对定位水平居中:
只需要设置绝对定位元素的 left:50%;
然后再设置绝对定位元素的 margin-left: - 元素宽度的⼀半 px;

1.4 固定定位

position: fixed;
固定定位的元素是脱离标准流的 , 不会占用标准流中的空间
1.5  粘滞定位

position: sticky;

不脱离文档流

设置 position:sticky 同时给⼀个 (top,bottom,right,left) 之⼀ 即可
使用条件:
父元素不能 overflow:hidden 或者 overflow:auto 属性。
必须指定 top bottom left right4 个值之一,否则只会处于相对定位
父元素的高度不能低于 sticky 元素的高度
sticky 元素仅在其父元素内生效

1.6   z-index

默认情况下所有的元素都有⼀个默认的 z-index 属性 , 取值是0.z-index属性的作用是专门用于控制定位流元素的覆盖关系的。 默认情况下定位流的元素会盖住标准流的元素, 定位流的元素后面编写的会盖住前面编写的, 如果定位流的元素设置了 z-index 属性 , 那么谁的 z-index 属性比较大 , 就会显示在上面
从父现象:若父元素设置了则按照父元素设置的来进行覆盖
 
                  若父元素和子元素都设置了,则子元素设置会失效,遵循父元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值