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

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

要想實現上圖練習中的效果為什么要用絕對定位呢?

.left{?width:200px;height:500px;position:absolute;left:0;top:100px;background:blue;}
.right{background:#9C9;height:500px;margin-left:210px;}

要實現上面的效果這里為什么要用絕對定位呢?

我用的浮動,代碼如下:

.left{width:200px;height:500px;float:left;background:blue;}
.right{height:500px;margin-left:210px;float:right;background:#9C9;}

這樣寫的錯誤在哪里?為什么中間紅色會空那么大呢?


正在回答

2 回答

float:right會讓div往右邊浮動,而.left則已經往左浮動了,故而一個左貼邊,一個右貼邊,中間自然露出來大片的底色(紅色)。所以你這里的margin-left:210px并沒有起到實質上的作用,因為中間的區域估計有上千px。要想用浮動來實現這樣的效果,必須都設置成float:left。

但是本題的任務要求:右側(right)先加載,左側(left)后加載。

而且下面的div代碼也是right在前面,left在后面。如果是left在前面,right在后面,那么可以直接使用float:left,從左到右按順序向左浮動,再設置right的margin-left:10px即可實現。

本題的精髓就在于left在后面,right反而在前面,所以只能只用絕對定位來實現。

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

楓芒i 提問者

是不是可以這么理解?float:right和 margin-left:210px實際效果相悖,但是浮動的優先級要高,所以margin-left:210px并沒有起到實質上的作用。這樣理解對嗎?謝謝
2018-06-12 回復 有任何疑惑可以回復我~
#2

如夢亦晨 回復 楓芒i 提問者

可以這樣理解。
2018-06-13 回復 有任何疑惑可以回復我~

在看了上面的回答后,我試了試加了絕對定位和沒加絕對定位的區別,加了絕對定位的網頁縮小時那200px不變,在那呆著,沒加絕對定位的網頁縮小時那200px本身的顏色沒了,變回了main所設置的背景顏色。也就是“被擠掉了”

下面那倆圖都是沒加絕對定位的

第一張圖是正常的:

https://img1.sycdn.imooc.com//5c1a51e0000107c311410810.jpg

而接著把網頁往左縮小時,就會變成下面這樣:

https://img1.sycdn.imooc.com//5c1a51e100013abe08520828.jpg


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

舉報

0/150
提交
取消
如何用CSS進行網頁布局
  • 參與學習       209566    人
  • 解答問題       1206    個

用最簡潔的案例教你布局的那些知識,這是前端工程師基本技能

進入課程

要想實現上圖練習中的效果為什么要用絕對定位呢?

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

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

幫助反饋 APP下載

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

公眾號

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