css的定位方式有哪些?
【定位导读】
定位模式+边移位
可以在盒子或者是浏览器可视区域内自由的移动
可以压住其他的盒子。图片和文字
加定位不需要转化,可以直接设置宽高,加定位不设置宽高,会默认内容宽度
/*定位叠加,后来者居上,数值越大,就越靠上*/
z-index: 1;
1.相对定位
【定位导读】
元素在移动位置的时候,是相对原来的位置来说的(自恋型,该元素所在的盒子内进行移动)
跟父亲元素和浏览器没有关系。
虽然这个盒子走了,他的位置继续占有,继续保留,不脱标。
【定位写法】
position: relative;
top: 300px;
left: 30px;
/*位偏移 top bottom left right*/
2.绝对定位
【定位导读】
元素移动位置时候,是相对祖先元素来说的。
如果没有父元素或者祖先元素没有定位(浮动也算),就以浏览器来对齐的。
如果父亲有定位(相对、绝对、固定定位),则以最近一级的祖先元素为参考点定位。
他爸爸没有定位,他爷爷有定位,他以爷爷来定位。
绝顶定位不占有原来的位置,轮播图采用的绝对定位。
【子绝父相】
子级使用绝对定位,父级则需要相对定位(top:0)
父亲必须保留位置,子盒子不需要保留位置
【定位写法】
position: absolute;
top: 30px;
left: 20px;
/*位偏移 top bottom left right*/
3.固定定位
【定位导读】
以浏览器的可视窗口来移动
和父元素有关系
不随着滚动条而滚动
不占有原来的位置
【固定写法】
position: fixed;
top: 300px;
right: 30px;
/*位偏移 top bottom left right*/
【右侧版心写法】
position: fixed;
left: 50%;
margin-left: 450px;
/*再移动盒子的宽的一半*/
4.粘性定位
【定位导读】
以浏览器的可视窗口为参照点,移动元素(固定定位的特点)
粘性定位占有原先的位置(相对定位的特点)
必须啊添加 top left right bottom 其中一个有效
【粘性定位写法】
position: sticky;
top: 0;
/*部分浏览器不兼容,可以使用js来做*/