Visit Mozilla.org

CSS:position

From MDC

« CSS 参考

[编辑] 概述

position 属性设置元素的定位方式。该属性对脚本编写动画特效十分有用。

定位元素(positioned element)计算位置为 relativeabsolutefixed 的元素。

完全定位元素(absolutely positioned element)计算位置为 absolutefixed 的元素。

toprightbottomleft 属性指定定位元素的位置。

[编辑] 语法

position: static | relative | absolute | fixed | inherit

[编辑] 取值

static 
普通行为。
relative 
首先将此元素当作非定位元素来布局所有元素,然后调整该元素的位置,而不改变其他元素的布局(这样会在此元素原本所在的位置留下空白)。
absolute 
不为元素预留空间,而是将它定位到相对于其最近的祖先或初始包含块的某个位置。
fixed 
不为元素预留空间,而是将它定位到相对于视点的某个位置,它不会随着页面的滚动而滚动。(在打印时会在每一页的固定位置打印出来。)

[编辑] 示例

[编辑] 注释

对于相对定位元素,topbottom 属性指定它相对正常位置的垂直偏移,leftright 属性指定水平偏移。

对于绝对定位元素,toprightbottomleft 属性指定元素与其包含块的偏移,即此时位置为与包含块的相对位置。元素的边距(margin)定位在这些偏移之中。

在大多数时候,绝对定位元素的 heightwidth 属性的值为 auto,它们会自动计算以适合元素的内容。但是非替换(non-replaced)绝对定位元素可以占据 topbottom 的值(除 auto 外)所共同指定的可用空间,而不必设置 height(也就是设其为 auto)。leftrightwidth 也类似。

绝对定位元素的定位值发生冲突时的解决方法:

  • 如果同时指定 topbottom(非 auto),优先采用 top
  • 如果同时指定 leftright,若 directionltr(英语、汉语等),则优先采用 left;若 directionrtl(阿拉伯语、希伯来语等),则优先采用 right

[编辑] 规范

[编辑] 浏览器兼容性

[编辑] 参见

display, float, top, right, bottom, left