static 元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。 relative 元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。 absolute 元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。 fixed 元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。 写个小代码测试一下。 <html> <head></head> <body> <div style="width:200px;height:200px;"> <div id="div1" style="width:20px;height:20px;background-color:red"></div> <div id="div2" style="width:20px;height:20px;background-color:black;position:fixed;top:30px;left:30px;"></div> <div id="div3" style="width:20px;height:20px;background-color:yellow"></div> <div id="div4" style="width:20px;height:20px;background-color:green"></div> <div id="div5" style="width:20px;height:20px;background-color:blue"></div> </div> </body> </html> 共有红、黑、黄、绿、蓝五种颜色的小方块,每个方块长宽各为20px; 现在用黑色的那个小方框做实验。让黑色的这个小方框向右偏移30px,向下偏移30px; static的表现: relative的表现: absolute的表现: fixed的表现: |
|