divcss盒子之绝对定位和相对定位.docx
- 文档编号:6543940
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:17
- 大小:21.46KB
divcss盒子之绝对定位和相对定位.docx
《divcss盒子之绝对定位和相对定位.docx》由会员分享,可在线阅读,更多相关《divcss盒子之绝对定位和相对定位.docx(17页珍藏版)》请在冰点文库上搜索。
divcss盒子之绝对定位和相对定位
1.定位的专业解释
(1)语法
position:
static|absolute|fixed|relative
(2)说明
绝对定位(absolute)、相对定位(relative)。
绝对定位(absolute):
将被给予此定位方式的对象从文档流中拖出,利用left,right,top,bottom等属性相对于其最接近的一个最有定位设置的父级对象进行绝对定位,若是对象的父级没有设置定位属性,即仍是遵循HTML定位规则的,则依据body对象左上角作为参考进行定位。
绝对定位对象可层叠,层叠顺序可通过z-index属性控制,z-index值为无单位的整数,大的在最上面,能够有负值(目前负值FF不支持)。
相对定位(relative):
对象不可层叠,依据left,right,top,bottom等属性在正常文档流中偏移自身位置。
一样能够用z-index分层设计。
2.定位的形象解释
我先来架设一个虚拟的场景:
有一个矩形的房间,里面还有一个水桶装了些水,水里还浸泡着一个西瓜,那个房间半空中还有很多的钩子用于挂东西用。
此刻我把网页元素与上面物件对应上,那么房间就是一个网页,水桶是网页中的一个板块,桶中的水就是文本流,西瓜就是将要被定位的对象。
(1)奉献的绝对定位(absolute)
对照前面解释,若是西瓜被给予绝对定位,那么就等于把西瓜从水中捞起来挂在半空中的钩子上,水桶中西瓜原来占用的空间水会自动填补它(绝对定位对象会让出自己原先占用位置,所以说它是奉献的)。
现在若是之前没有对水桶进行定位设定,那么被拿起的西瓜位置不会再受水桶位置影响,水桶怎么移动,西瓜仍是挂在原来位置,至于西瓜要怎放,则以房间左上角(body左上角)为准,用left,right,top,bottom值来定位。
可是若是水桶也给出了定位设置(一般是相对定位,下面有讲到这一实用技能),现在西瓜的摆放就没有那么自由了,虽然现在西瓜被拿起来了不会影响水桶中的水(文本流),但它仍是要听桶的话,桶会告知西瓜“你能够活动,但应该在我的范围内走动,例如说我要你在我左上方1米处,你就要跟死这一点,我走你也要随着走”,若是桶中有很多个西瓜,能够全数拿出来吊到半空中,它们将被安排在不同高度的空间(层),所以在房顶垂直往下看,有可能看到不同西瓜层叠在一路的情形(那个所谓的高度在网页中是不存在的,就像FLASH动画中的不同层上安排了元素,但它们在看时不会有深度感觉)。
可见绝对定位的对象参考目标是它的父级,专业称之为包括块。
(2)自私的相对定位(relative)
相对定位一个最大特点是:
自己通过定位跑开了还占用着原来的位置,不会让给他周围的诸如文本流之类的对象。
相对定位也比较独立,做什么事它自己说了算,要定位的时候,它是以自己本身所在位置偏移的(相对对象本身偏移)。
再拿前边作比如来解,那么现在西瓜似乎是有魔法的,若是西瓜通过相对定位在水桶中偏移了你会看到一个现实生活中不存在的现象:
水中有一个地方水凹下去了,周围的水不能填补它,西瓜看起来在隔壁,若是搅动一下桶中的水,那个凹的位置会发觉改变(文本流对相对定位对象还存在影响),可是凹处到西瓜出现的距离始终维持一致。
可见文本流与它之间还会彼此影响,因为对象并无真正离开文本流,就像有两个人在同一层楼水平移动的进程中会有碰头的机缘。
(3)总结两种定位的特征
绝对定位就像是把不同对象安排到了一栋高楼的不同楼层(一般指不是第一层,咱们这里理解为文本流就放在首层),它们互不影响,可是它们怎么移动与你楼的地基和面积(父级)有关。
相对定位指对象仍是在首层楼与文本流一路寄存,它们之间肯定存在影响。
(4)对特殊情形的补充
在用相对定位和绝对定位的时候,有一种情形是它们的定位值用到了负值则对象可沿相反方向移动,适才说到的把对象安排在一栋楼的不同层,若是某个对象一开始就是背靠着最外边墙的,现在再用一个负值定位它,它就会神奇般地跑出墙外去了,固然现实中可没有这种惊险而又神奇的事发生,本人只为了延用上面的比如作形象解释。
本文来自:
博客学堂
CSS盒子之绝对定位和相对定位
来源:
蓝色理想 | 添加时刻:
2008-4-2407:
19:
08 | 大中小 | 我要投稿 | 提问
3.实例强化对定位属性的理解
(1)无定位设置,对象遵循HTML定位规则。
一般是子级不会跑出父级外边去(子级没有利用负边界情形),子级一般是靠在父级左上角的,父级放在最基层。
DOCTYPEhtmlPUBLIC"-ox1{
background-color:
#33CCFF;
height:
200px;
width:
200px;
}
.box2{
background-color:
#66CC66;
height:
100px;
width:
100px;
}
-->