position常见的四个值:static、relative、absolute、fixed
static: 静态定位是position的默认值,元素框正常生成,也就是没有定位时的正常显示。
relative: 相对定位
相对定位,最常见的使用方式有如下两种:
使用方法一:元素相对自身的原位置偏移某个距离,但是原本的空间依旧保留,表现为空白。
使用方法二:把一个元素设置为position: relative; 可以使该元素的子元素相对该元素绝对定位。
absolute:绝对定位
元素从文档流删除,并相对于包含块定位。元素在原本的空间关闭。元素定位后生成一个块级框,不论它原来是行内元素还是块级元素。
这里的包含块是指:最近的position值不是static的祖先元素(块级或行内),一般会指定一个元素作为绝对定位元素的包含块,将其position设置为relative而且没有偏移。
设置偏移属性:top/right/bottom/left,初始值是auto。
fixed:固定定位
元素脱离文本流,从普通文本中删除,并相对于浏览器视窗定位,因此不随文档滚动而移动。元素在原本的空间关闭。元素定位后生成一个块级框,不论它原来是行内元素还是块级元素。与绝对定位的区别仅仅是包含块不同
absolute/fixed和float对比:
相同之处:元素都会脱离文本流,从普通文本中删除,但是依旧会影响布局;都会生成一个块级框,无论原来是不是块级元素。
不同之处:float的包含块是最近的块级祖先元素。
溢出属性:overflow
overflow的四个值: visible/ hidden/ scroll /auto/ inherit
overflow初始值是visible。
overflow就是咱们常用在:如果一个元素的大小固定,但是其内容放不下,就会导致溢出。overflow控制溢出部分的可见(visible)、不可见(hidden)、滚动可见(scroll)。
元素可见性visibility: visible/ hidden/ collapse/ inherit,初始值是visible。