我们经常会在网页中看到固定在屏幕某个位置的框。这种效果是标准流量和浮动无法实现的。需要用到的一种布局方式就是定位。定位可以让方块在某个方块内自由移动或者固定在屏幕的某个位置,并且可以压住其他方块。1.定位组成定位=定位方式+边缘偏移。定位方式决定了元素的定位方式,由CSS的position属性设置:div{position:static;/*静态定位*/position:relative;/*相对定位*/position:absolute;/*绝对定位*/position:fixed;/*固定定位*/}边偏移就是把定位好的盒子移动到最终的位置。有top、bottom、left、right四个属性,分别对应top、bottom、left、right的偏移量。2.静态定位Static静态定位是元素默认的定位方式。静态定位根据标准流特性放置位置,没有边缘偏移。3.相对定位相对定位是当元素移动时,相对于它原来的位置。元素设置为相对定位后,会继续占据标准流中原来的位置(不是off-label),不会影响后面的boxes。相对定位元素的典型应用是作为绝对定位元素的父级。4.绝对定位绝对定位是当一个元素移动它的位置时,相对于它的祖先元素。如果祖先元素有定位(绝对定位、相对定位、固定定位),则以最近的有定位的祖先元素为参考点移动位置。如果没有祖先元素或没有定位任何祖先元素,则以浏览器为准。绝对定位不再占据原来的位置(outofmark)。在使用绝对定位时,有一句口头禅是“子必相对于父”,意思是子使用绝对定位,父需要相对定位。5.固定定位fixed固定定位是将元素的位置固定在浏览器的可见区域,可以在浏览器页面滚动时保持元素的位置不变。固定定位是以浏览器可见窗口为参考点移动元素,与父元素无关,不随滚动条滚动。固定定位也是off-label,不占原来的位置。6.粘性定位粘性定位可以认为是相对定位和固定定位的混合。粘滞定位是以浏览器的可见窗口为参考点来移动元素,但它占据了原来的位置并保持不变。粘性定位必须加上top、left、bottom、right其中之一才有效。
