小tip:【css】position移动位置

relative和absolute的一丢丢。

position:relative :元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。 
position:absolute :元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

三个关键词:偏移位置、文档流影响和占据空间。
----------题图demo分割线-----------------------------------我爱前端------------------------------------题图demo分割线-----------------------------------我爱前端--------------------------------------------------------题图demo分割线-----------------------------------我爱前端----
相对浏览器左上角body偏移
position:relative 青色相对文本偏移20px:
图片 

position:absolute 青色块相对包含块偏移20px(位置将依据浏览器左上角的0点开始计算):
图片 

相对父元素偏移: 

positon:relative 相对蓝色块偏移20px,最近的元素移动偏移;
图片 

postion:absolute相对蓝色块偏移: 左边为什么不相对蓝色块定位偏移呢?
 
  图片          图片

张三李四说法:如果父级元素是没有设置未声明position:relative,那么绝对定位(absolute)自动以body左上角定位。
这句话是只对了一半,返回顶部仔细阅读absolute定义第二句话“包含块”;

正确的是:父元素设了position值不是static,那么子元素定位绝对定位即以此为包含块。
绝对定位参照物是他的包含块。

本文只对偏移位置说明,文档流和占据空间不加说明。 

ps:很多东西只看别人文章(道理),依旧写不好code(过不好一生),必须自己running。 

 

posted on 2014-12-01 21:33  西西否  阅读(943)  评论(0编辑  收藏  举报