绝对定位和相对定位的内幕
css有5种不同的position属性值 我们不会讨论inherit,因为顾名思义,它就是继承了父元素的值,而且在比较老的IE版本中,支持情况也不好。 任何元素的position属性的默认值都是static。所谓的static定位就是元素在文档流中。当然了,这完全取决于你的HTML结构。 另一个值你肯定见过,它就是fixed。说白了,它就是把一个对象钉在背景上,因此无论你把它放在哪,它就会一直在那。我们经常在sidebar的导航元素中看到它的身影,当页面向下滚动了很远的距离,这时候我们想回到顶部,如果没有一个fixed的导航,这种用户体验是很差的。 前面这三个值都很浅显易懂,接下来是绝对定位和相对定位。我们会单独的解释这些值,并且会讨论它们如何配合使用。 绝对定位 使用绝对定位,你可以让一个元素脱离文档流,并且把它放在页面上某个指定的位置。为了了解它如何工作,我们创建了一个简单的无序列表。 正如我们说过的,列表项(list item)默认的定位方式是static,这就意味着它们会跟随标准的文档流。下面我对其中一项使用绝对定位。 如你所见,第4项完全脱离了文档流,并且位于浏览器窗口的左上角。请注意,即使有其他内容占据了这个位置,这个元素也不在乎。当我们使用绝对定位时,它不会影响文档流中的其他元素,也不会被别的元素影响。 使用绝对定位的原因是我们想精确的定位,通过top、bottom