当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS样式表中的position属性详细说明

CSS样式表
CSS实例代码:网页背景渐变
CSS教程:dashed和dotted的区别
各种不同的浏览器对CSS3和HTML5的支持状况
15个高质量免费的WEB标准网站模板
Firefox Bug: inline/inline-block的间隙
CSS网页布局问题:li上多出的margin问题
css reset样式初始化
CSS解决链接锚点定位偏移
CSS设置的背景图片在IE7中点击消失
CSS教程:兼容ie6,ie7,ff的fixed
css网页布局中文字排版的属性和用法
CSS Sprites探讨
CSS Tricks精选出的一些精灵图片
40个有吸引力的导航菜单实例
CSS3实例教程:倾斜的网页图片库
遵循web标准 网页前端得3类优化
CSS 3给我们带来了什么惊喜?
网页重构:由网页图标处理引发的思考
CSS代码:控制IE滚动条
CSS实例教程:用ul li做圆角表格

CSS样式表中的position属性详细说明


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 64 ::
收藏到网摘: n/a

在CSS中关于position定位的内容是:

position: relative | absolute | static | fixed

static(静态) 没有特别的设定,遵循基本的定位规定,不能通过z-index进行层次分级。
relative(相对定位) 对象不可层叠、不脱离文档流,参考自身静态位置通过 top,bottom,left,right 定位,并且可以通过z-index进行层次分级。
absolute(绝对定位) 脱离文档流,通过 top,bottom,left,right 定位。选取其最近一个最有定位设置的父级对象进行绝对定位,如果对象的父级没有设置定位属性,absolute元素将以body坐标原点进行定位,可以通过z-index进行层次分级。
fixed(固定定位)这里所固定的参照对像是可视窗口而并非是body或是父级元素。可通过z-index进行层次分级。

CSS中定位的层叠分级:z-index: auto | namber;
auto 遵从其父对象的定位
namber 无单位的整数值。可为负数

relative(相对定位)只可以在文本流中进行位置的上下左右的移动,虽然他的表现区脱离了文本流,但是在文本流却依然为其保留了一席之地,这就好比一个打工的人他到了外地,但是在老家依然有一个专属于他的位置,这个位置不随他的移动而改变。这样很明显就会空出一块空白来,如果希望文本流抛弃这个部分就需要用到绝对定位。

absolute(绝对定位)不光脱离了文本流,而且在文本流中也不会给这个绝对定位元素留下专属空位。这就好比是一个工厂里的职位,如果有一个工人走了自然会要有别的工人来填充这个位置。而移动出去的部分自然也就成为了自由体。绝对定位将可以通过TRBL(TOP、RIGHT、BOTTOM、LEFT简称TRBL)来设置元素,使之处在任何一个位置。在父层position属性为默认值时,TRBL的坐标原点以body的坐标原点为起始。

关于position

1. position:static
所有元素的默认定位都是:position:static,这意味着元素没有被定位,而且在文档中出现在它应该在的位置。
一般来说,不用指定 position:static,除非想要覆盖之前设置的定位(也就是说,不继承父容器的position属性值!!!)。

2. position:relative
如果设定 position:relative,就可以使用 top,bottom,left 和 right 来相对于元素在文档中应该出现的位置来移动这个元素。
意思是元素实际上依然占据文档中的原有位置,只是上相对于它在文档中的原有位置移动了。

3. position:absolute
当指定 position:absolute 时,元素就脱离了文档(即在文档中已经不占据位置了),可以准确的按照设置的 top,bottom,left 和 right 来定位了。

Inherit (值)属性:
inherit故名思意是“继承”的意思。所以它所表达的值也是继承相关的了。
通过在特定元素上设置某些样式来告诉该元素 “继承”它父级元素的所有已添加的属性,这样你就可以避免相当多的键盘输入。
  这可以通过设置 inherit 来很容易的实现。比如,当重写 background 属性的时候,常常会有很多的文字在该属性中(色彩、图片的URL地址、位置等)。所以,与其重新写这些值,你可能仅仅想要考虑中的元素和其父级元素有相同 的背景属性,一个 inherit 值就可以搞定一切——这显然大大的节省了键盘输入。
给大家一个简单的inherit 小实例你会很明白了:
<html><style>
body { color: red; background: green ;}
h1 { color: yellow; background: blue ;}
p {color: white ; background: black ;}
em {color: inherit ;} /*这个"继承"是默认的,可以不写*/
</style><body>
<h1>aaa <em>继承的文字</em> aaa</h1>
<em>继承的文字</em>
<p>P中间的文字</p>
<em>继承的文字</em>
</body></html>
  很可惜的是inherit 值在IE6和IE7不被支持(除了用于 direction (文字方向) 和 visibility 属性)。