CSS:position
From MDC
« CSS 参考
[编辑] 概述
position 属性设置元素的定位方式。该属性对脚本编写动画特效十分有用。
- 默认值:
static - 应用范围: 所有元素
- 可继承: 否
- 媒体:
Media:Visual - 计算值: 指定值
定位元素(positioned element)是计算位置为 relative、absolute 或 fixed 的元素。
完全定位元素(absolutely positioned element)是计算位置为 absolute 或 fixed 的元素。
top、right、bottom 和 left 属性指定定位元素的位置。
[编辑] 语法
position: static | relative | absolute | fixed | inherit
[编辑] 取值
- static
- 普通行为。
- relative
- 首先将此元素当作非定位元素来布局所有元素,然后调整该元素的位置,而不改变其他元素的布局(这样会在此元素原本所在的位置留下空白)。
- absolute
- 不为元素预留空间,而是将它定位到相对于其最近的祖先或初始包含块的某个位置。
- fixed
- 不为元素预留空间,而是将它定位到相对于视点的某个位置,它不会随着页面的滚动而滚动。(在打印时会在每一页的固定位置打印出来。)
[编辑] 示例
[编辑] 注释
对于相对定位元素,top 和 bottom 属性指定它相对正常位置的垂直偏移,left 和 right 属性指定水平偏移。
对于绝对定位元素,top、right、bottom 和 left 属性指定元素与其包含块的偏移,即此时位置为与包含块的相对位置。元素的边距(margin)定位在这些偏移之中。
在大多数时候,绝对定位元素的 height 和 width 属性的值为 auto,它们会自动计算以适合元素的内容。但是非替换(non-replaced)绝对定位元素可以占据 top 和 bottom 的值(除 auto 外)所共同指定的可用空间,而不必设置 height(也就是设其为 auto)。left、right 与 width 也类似。
绝对定位元素的定位值发生冲突时的解决方法:
- 如果同时指定
top和bottom(非auto),优先采用top。 - 如果同时指定
left和right,若direction为ltr(英语、汉语等),则优先采用left;若direction为rtl(阿拉伯语、希伯来语等),则优先采用right。