position(绝对定位与相对定位)

position有5种可能的值(W3c的解释如下)

absolute
生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed
生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative
生成相对定位的元素,相对于其正常位置进行定位。

因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit 规定应该从父元素继承 position 属性的值。

下面用几个例子来进行更深的了解。

一、当absolute在父元素全都是static时的变化。

1、用以下代码做默认值后面在此基础上做更改

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <title>demo</title>
 5 <style>
 6 .aaa {
 7     width: 300px;
 8     height: 300px;
 9     background: #aaa;
10     margin: 50px;
11 }
12 .red {
13     width: 100px;
14     height: 100px;
15     background: red;
16     margin-left:20px;
17     left: 100px;
18     top: 50px;
19 }
20 #ddd {
21     width: 400px;
22     height: 400px;
23     background: #ddd;
24     margin:0 auto;
25     left: 100px;
26     top: 200px;
27 }
28 </style>
29 </head>
30 <body>
31 <div id="ddd">
32     <div class="aaa">
33         <div class="red"></div>
34     </div>
35 </div>
36 </body>
37 </html>

效果图如下

2、把红色方块的类改写

1 .red {
2     width: 100px;
3     height: 100px;
4     background: red;
5     margin-left:20px;
6     left: 100px;
7     top: 50px;
8     position: absolute;<!-- 新添加 -->
9 }

效果图如下

发现红色方块离开了它父类的范围,变为绝对定位。说明absolute在父元素全都是static(或默认值,因为static就是默认值。)时会变为fixed(绝对定位)。

二、绝对定位时的居中。

本人比较喜欢用margin:0px auto;去进行水平居中。而在position的值为fixed(绝对定位)时,这句代码是没有作用的。(包括上面所说的情况也视值为fixed)

时间: 2024-11-06 16:26:11

position(绝对定位与相对定位)的相关文章

网站布局之------浮动(float)和定位(position)(绝对定位,相对定位,静态固定定位),***什么叫脱离文档流?

网站布局之------浮动(float)和定位(position)(绝对定位,相对定位,静态固定定位),***什么叫脱离文档流? @参考文档:http://www.cnblogs.com/jenry/archive/2007/07/15/818660.html @什么叫脱离文档流?注意,只有绝对定位absolute和浮动float才会脱离文档流! 答案:CSS中脱离文档流,也就是将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当做脱离文档流的元素不存在而进行定位. ---部分无视和完全无视

css position 绝对定位和相对定位

position:absolute这个是绝对定位:是相对于浏览器的定位.比如:position:absolute:left:20px;top:80px; 这个容器始终位于距离浏览器左20px,距离浏览器上80px的这个位置. position:relative是相对定位,是相对于前面的容器定位的.这个时候不能用top left在定位.应该用margin. 比如:<div class="1"></div><div class="2">

理解position 绝对定位和相对定位

一.position的三种取值 1.取值 Position :   static /  absolute / fixed / relative static:静态   absolute:绝对定位    fixed:固定   relative:相对定位 默认情况下:static             无特殊定位,对象遵循HTML定位规则 absolute : 将对象从文档流中抽出,使用left,right,top,bottom等属性进行绝对定位.而其层叠通过z-index属性定义.此时对象不具有

3、第3课CSS块级、行内元素、绝对定位、相对定位、固定位置20150922

1.块级元素 A:特点: A.1默认显示在父标签的左上角 A.2块级元素默认占满一行(占满整个文档流) B:常见的块级元素 P   h1--h6   ul  li    ol  li   div  hr    table 2.行内元素(内联元素) A:常见的=行内元素有 a  span  img   input B:行内元素的特点 B.1 大小受到文字区域影响,不受width  height 影响 B.2 行内元素不会单独占满一行 3. 行内元素和块级元素相互转换 A:  行内元素转换成块级元素

css中的绝对定位与相对定位

1.绝对定位 元素没有设定position属性,但依旧具有position属性,其值为static 绝对定位的元素从文档流中删除,并相对于其最近的position属性为absolute.relative.fixed的祖先元素定位,若没有这样的祖先元素,则根据浏览器定位,元素原来在文档流中的控件被关闭,其层叠通过z-index属性决定,此时对象不具有边距(margin) <div class="content"> <div class="redBlock&qu

深入浅出理解绝对定位和相对定位

原文地址:http://www.360doc.com/content/10/0814/18/1001775_46037316.shtml 概要: 本文主要描述XHTML中相对定位和绝对定位各自的本质.用法.区别和两者之间的关系.以及使用CSS的Left.Right.Top.Bottom属性(偏移属性)和Margin属性(外边距)对定位块级元素进行布局的方法. 说明: 占位空间:元素在文档流中所占据的空间. 物理空间:元素本身所占据的空间. 下面分3种情况分别对相对定位和绝对定位进行讨论: 1.

【转载】CSS之绝对定位及相对定位

我们先来看看CSS3 Api中对position属性的相关定义: static:无特殊定位,对象遵循正常文档流.top,right,bottom,left等属性不会被应用. relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置.而其层叠通过z-index属性定义. absolute:对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位.而其层叠通过z-index属性定义. fixed:对象脱离正常文档

CSS position绝对定位absolute relative

常常使用position用于层的绝对定位,比如我们让一个层位于一个层内具体什么位置,为即可使用position:absolute和position:relative实现. 一.position语法与结构   -   TOP position语法: position : static absolute relative position参数:static : 无特殊定位,对象遵循HTML定位规则absolute : 将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对

css绝对定位、相对定位和文档流的那些事

前言 接触html.和css时间也不短了,但每次用div+css布局的时候心里还是有点儿虚,有时候干脆就直接用table算了,很多时候用div会出现些不可预料的问题,虽然花费一定时间能够解决,但总不是个事,所以今天特地探索了下css+div的绝对定位和相对定位和文档流的关系. 文档流的概念 确切的说应该是文档文档流模型的机制,html的布局机制就是用文档流模型的,即块元素(block)独占一行,内联元素(inline).不独占一行 如块级元素(block) <div>div1</div&

绝对定位和相对定位的使用

CSS中的绝对定位与相对定位 层级关系为: <div ----------- position:relative; 不是最近的祖先定位元素,不是参照物<div----------没有设置为定位元素,不是参照物<div-------- position:relative 参照物<div box1<div box2 --–position:absolute; top:50px; left:120px;<div box3效果图: 为改变参照物(橘色框)后的效果层级关系为:&l