相对定位:
参照自身位置进行定位,每个元素在页面的文档流中都有一个自然位置,相对于这个位置对于元素进行移动就称之为相对定位。周围元素并不受影响。当position属性设置为relative时,就开启了元素的相对定位。当开启了相对定位以后,可以使用 top ,right,bottom,left,这四个属性对元素进行定位
相对定位特点:
如果不设元素的偏移量,元素位置不会发生变化。相对定位不会使元素脱离文档流,元素在文本流中的位置不会变。相对定位并不会改变元素原来的特性。相对定位使元素的层级提升,是元素可以覆盖文本流中的元素。
绝对定位:
绝对定位指的是使元素相对于html元素或者离他最近的祖先定位元素进行定位。当将position属性设置为absolute时,开启了元素的绝对定位。当开启了绝对定位以后,可以使用top,right,bottom,left四个属性对元素进行定位
绝对定位的特性:
绝对定位会使元素完全脱离文本流。绝对定位的块元素宽高会被其输入的内容撑开。绝对定位会使行内元素变成块元素。一般使用绝对定位时会同时为其父元素制定一个相对定位,以确保元素可以相对于父元素进行定位
固定定位:
固定定位的元素会被锁定在屏幕上的某个位置,当访问者滚动网页时,固定元素会在屏幕保持不动。当将position属性设置为fixed时,则开启了元素的固定定位。当开启了固定定位以后,可以使用top,right,bottom,left四个属性对元素进行定位。固定定位的其他特性和绝对定位类似。当元素开启定位以后可以设置z-index这个属性。这个属性可以提升定位元素所在的层级。z-index可以指定一个整数作为参数,值越大显示的优先级越高,也就是z-index值较大的元素会显示在网页 的最上层
文档流:
文档流指的是文档中可实现的对象在排列时所占用的位置。将窗体自上而下分成一行行,并在每行中按从左至右的顺序排列元素,即为文档流。也就是说在文档流中元素默认会贴在上一个元素的右边,如果右边不足以放下元素,元素则会另起一行,在新的一行中继续从左到右摆放。这样一来每一块元素都会另起一行,那么我们如果想在文档流中进行布局就会变得比较麻烦