relative absolute fixed sticky 定位

定位元素 relative  absolute fixed  sticky

定位元素比普通元素的层级高

relative

不脱离文档流,参考点为原来的位置

可以设置float,,但不推荐这样做。

可以设置margin,但不推荐这样做

left

top,left,right,bottom,padding,margin 相对于原理的位置进行偏移

absulate

脱离文档流,参考点为包含块。脱离文档流对兄弟元素,父元素有影响

什么是包含块?
1. 对于没有脱离文档流的元素:包含块就是父元素;
2. 对于脱离文档流的元素:包含块是第一个拥有定位属性(absolute,relative)的祖先元素(如果所有祖先都
没定位,那包含块就是整个页面)。

可以设置float ,但是float 无效

left 于right不能同时设置,同时设置,right无效。如left:0;right:0;或rigth:0;left:0;

可以设置margin,但不推荐

无论是什么元素(行内、行内块、块级)设置为绝对定位之后,都变成了定位元素(默认宽高被内容所撑开,且可以自由设置宽高)。区别relative,relative没有这个属性

relative absolute fixed sticky 定位_第1张图片

absolute 和float 都是脱离文档流的,但是有不同.

foat 呈现文字环绕的效果。.cont脱离文档流后,下面的文字会移动到 .cont原来的位置,

但是 .cont会把文字挤出来,呈现文字环绕的效果。

absoulte:.cont脱离文档流后,下面的文字会移动到 .cont原来的位置,.cont会直接把文字遮住

relative absolute fixed sticky 定位_第2张图片



    
    
ddsfda

relative absolute fixed sticky 定位_第3张图片

fixed

参考位置:视窗—— 对于PC 浏览器来说,视口就是我们看网页的那扇“窗户”。

与float同时设置,float失效

可以设置margin,但不推荐

无论是什么元素(行内、行内块、块级)设置为绝对定位之后,都变成了定位元素(默认宽高被内容所撑开,且可以自由设置宽高)。(absolute,fixed 有这个属性,realtive没有)

sticky

离它最近的一个拥有“滚动机制”的祖先元素,即便这个祖先不是最近的真实可滚动祖先。

不是最近的真实可滚动祖先(设置了overflow:auto,有默认滚动条)

情况1:离他最近的拥有”滚动机制的祖先元素为bod   body的高度2000px



    
title
A
A1
A2
A3
A4
A5
A6
A7
A8
B
A1
A2
A3
A4
C
A1
A2
A3
A4

relative absolute fixed sticky 定位_第4张图片

在item的父元素增加overflow:auto 让父元素拥有滚动机制,但是.cont的高度由内容撑开,没有出现滚动条,sticky不生效

 .cont{
        overflow: auto;
    }

relative absolute fixed sticky 定位_第5张图片

设置.cont的height<内容高度,

   .cont{
        overflow: auto;
        height: 150px;
    }

relative absolute fixed sticky 定位_第6张图片

top值是相对

离它最近的一个拥有“滚动机制”的祖先元素

最后代码



    
title
A
A1
A2
A3
A4
A5
A6
A7
A8
B
A1
A2
A3
A4
C
A1
A2
A3
A4

你可能感兴趣的:(html,html,前端)