亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

relative和absolute運用

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>相對參照元素進行定位</title>

<style type="text/css">

div{border:2px red solid;}

#box1,#box2,h1{

? ? margin-left:0px;

? ? margin-top:0px;

}

#box1{

? ? width:200px;

? ? height:200px;

? ? position:relative;

? ? ? ? ??

}

#box2{

? position:absolute;

top:20px;

left:30px;

? ? ? ? ??

}

/*下面是任務部分*/

#box3{

? ? height:200px;

? ? width:200px;

? ? position:relative;

? ??

? ??

}

?#box4{

? ? ?width:99%;

? ? ?position:absolute;

? ? ?bottom:0;

? ? ?left:0px;

?} ??


?

</style>

</head>


<body>

<div id="box1">

<div id="box2">相對參照元素進行定位</div>

</div>


<h1>下面是任務部分</h1>

<div id="box3">

? ? <img src="http://img1.sycdn.imooc.com//541a7d8a00018cf102000200.jpg">

? ? <div id="box4">當我還是三年級的學生時是一個害羞的小女生。</div>

</div>

</body>

</html>為什么box3要用relative,box4相對于父級絕對定位嗎,那現在box3已經是box4的父級了啊,為什么還要用relative



正在回答

4 回答

首先明確絕對定位:想為元素設置層模型中的絕對定位,需要設置position:absolute(表示絕對定位),這條語句的作用將元素從文檔流中拖出來,然后使用left、right、top、bottom屬性相對于其最接近的一個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口。

這里“定位屬性”重點,如果box3不加position:relative使box3具有定位屬性的話,那么box4的絕對定位就會相對于body元素去定位了。

然后我又想為什么box3非要用relative相對定位呢?用absolute絕對定位行不行?經過測試發現也可以。也能夠實現box4相對于box3的相對定位。

那么我又考慮到,用relative對box3進行相對定位一定是有原因的。經過研究我發現,如果用absolute對box3進行相對定位的話,box3會從文檔流中脫離出來,造成后面的內容混亂,box3后面的內容跑到box3前面(我在box3前后加了一大段文字用來測試),因為absolute決定定位的特性就是會脫離文檔流。

而relative相對定位的一大特性就是“初始位置保持不變”,不會造成后面內容的混亂。

說的有點亂,你可以把我代碼中box3那段relative刪除,再換成absolute分別看一下效果就了解了,哪里有問題我們繼續討論

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>相對參照元素進行定位</title>

<style type="text/css">

div{border:2px red solid;}

#box1{

? ? width:200px;

? ? height:200px;

? ? position:relative;

? ? ? ? ??

}

#box2{

? position:absolute;

top:20px;

left:30px;

? ? ? ? ??

}

/*下面是任務部分*/

#box3{

? ? width:200px;

? ? height:200px;

? ? position:relative;? ? ? ?

}

#box4{

? ? width:99%;

? position:absolute;

bottom:0;

? ??

}

</style>

</head>


<body>

<div id="box1">

<div id="box2">相對參照元素進行定位</div>

</div>


<h1>下面是任務部分</h1>

1234123412341234123412341234132

<div id="box3">

? ? <img src="http://img1.sycdn.imooc.com//541a7d8a00018cf102000200.jpg">

? ? <div id="box4">當我還是三年級的學生時是一個害羞的小女生。</div>

</div>

asdfasdfasdfasdfasdfasdfasdfa

</body>

</html>


1 回復 有任何疑惑可以回復我~
#1

慕田峪9304305 提問者

非常感謝!
2018-04-20 回復 有任何疑惑可以回復我~
#2

慕慕1721642

請大神看下這個小節中我的問題
2018-04-24 回復 有任何疑惑可以回復我~

一父一子

0 回復 有任何疑惑可以回復我~

子絕父相,兒子絕對定位,父親就要相對定位,不然兒子就會參照瀏覽器進行定位

0 回復 有任何疑惑可以回復我~
#1

慕田峪9304305 提問者

絕對定位不是以父級元素定位嗎,box3是box4的父級啊,還要用相對定位干嘛呢
2018-04-17 回復 有任何疑惑可以回復我~

box3是父級,所以要設置一個參照定位position:relative,意思就是有人要參照你的定位了

0 回復 有任何疑惑可以回復我~
#1

慕田峪9304305 提問者

relative不是相對定位嗎
2018-04-17 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識HTML(5)+CSS(3)-升級版
  • 參與學習       1228743    人
  • 解答問題       19080    個

HTML(5)+CSS(3)基礎教程8小時帶領大家步步深入學習標簽用法和意義

進入課程

relative和absolute運用

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號