绝对定位和相对定位(absolute与relative)

来源:互联网 发布:sas是什么软件 编辑:程序博客网 时间:2024/05/18 14:25

绝对定位和相对定位(absoluterelative)

绝对定位和相对定位

 

很多朋友问absoluterelative怎么区分,怎么用?我们都知道absolute是绝对定位,relative是相对定位,但是这个绝对与相对是什么意思呢?

绝对是什么地方的绝对,相对又是相对于什么地方而言的呢?那他们又有什么样的特性,可以做出什么样的效果呢?关于两者之间又有什么样的技巧呢?下面我们就来一一解读。

 

AbsoluteCSS中的写法是:position:absolute; 他的意思是绝对定位,他是参照浏览器的左上角,配合TOPRIGHTBOTTOMLEFT(下面简称TRBL)进行定位,在没有设定TRBL,默认依据父级的做标原始点为原始点。

 

如果设定TRBL并且父级没有设定position属性,那么当前的absolute则以浏览器左上角为原始点进行定位,位置将由TRBL决定。

 

一般来讲,网页居中的话用Absolute就容易出错,因为网页一直是随着分辨率的大小自动适应的,而Absolute则会以浏览器的左上角为原始点,不会应为分辨率的变化而变化位置。

 

很多人出错就在于这点上出错。而网页居左其特性与Relative很相似,但是还是有本质的区别的。

 

RelativeCSS中的写法是:position:relative;  他的意思是相对定位,他是参照父级的原始点为原始点,无父级则以文本流的顺序在上一个元素的底部为原始点,配合TRBL进行定位,当父级内有paddingCSS属性时,当前级的原始点则参照父级内容区的原始点进行定位。

 

 

 

有时我们还需要依靠z-index来设定容器的上下关系,数值越大越在最上面,数值范围是自然数。

 

 

如何使DIV层水平居中问题的一点解释

之前解决层居中的方法是先用div套一层text-align设为center然后里面层的margin-leftmargin-right设为auto即可居中。

body {text-align: center;}

div {margin-right: auto; margin-left: auto;}

无意中发现text-align的设置在这里是没有作用的text-align只对inline element内联元素的解释请参阅前一篇起作用在这里只需要将margin-leftmargin-right设置成auto并且给要居中的层的width赋一个确定的值就可以达到居中的效果。

div {margin-right: auto; margin-left: auto;width:200px;}

下面分情况分析

全部都设为具体值margin-right被自动设为auto以满足条件方式

 当它们之中只有一个被设为auto比如{margin-left:auto; margin-right:100px; width:100px;} 这时margin-left会被拉伸至满足条件其它类似

当有两个被设为auto(a)如果是两个margin被设为automargin-leftmargin-right长度相同这就产生了居中的效果 (b)如果width和某一个margin设为auto则这个margin等于0

当三个值都设为auto时,等价于将margin设为0width设为auto

 

 

 

 

怎样使一个div层居中于浏览器中?

如下图操作所示:

0 0
原创粉丝点击