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

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

父元素設置float,來設置水平居中怎么理解

父元素設置float,然后給父元素設置?position:relative?和?left:50%,子元素設置?position:relative?和?left:?-50%?來實現水平居中。來設置水平居中怎么理解

正在回答

5 回答

我的理解是給父元素設置float:left是先讓這個塊到最左邊,然后設置position:relative 是讓塊可以相對于原位置移動,之后設置left:50%,也就是讓塊離整個頁面的最左邊50%,最后的結果就是塊的左邊貼著整個頁面的中線,之后再設置子元素position:relative,也就是讓子元素相對于現在的位置(即此刻父元素的位置)可以移動,再設置left:?-50% ,相當于子元素相對

http://img1.sycdn.imooc.com//5e1ff1600001003f15240640.jpg

于父元素的左邊移動了半個父元素塊的距離,就達到了居中的效果。(理解和表達不對的地方希望指正)

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

一個大憨憨

我想知道為什么這里沒有給div標簽設置寬度,但是顯示的時候是隨文本內容來變化的,不應該是和body標簽寬度一樣嗎?
2020-02-23 回復 有任何疑惑可以回復我~
#2

呼呼厚

為什么left: -50%代表子元素相對于父元素的左邊移動了半個父元素塊的距離,不是相對于父元素來說,子元素在父元素原來的位置上相對想左移動50%?
2020-03-20 回復 有任何疑惑可以回復我~

為什么left:?-50%代表子元素相對于父元素的左邊移動了半個父元素塊的距離,不是相對于父元素來說,子元素在父元素原來的位置上相對想左移動50%?

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

并不是。注意看文字解釋。首先是分為三層。第二層ul的最左邊對準第一層父元素div的中間線,第三層li的中間線對準第二層ul的最左邊。

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

理解了,因為這個父元素的寬度為0.實際上先向右50%,父元素就在中間這條線上了,然后再向左50%,就是0的50%還是原地沒動,還是蹲在中間線,如果父元素有寬度的話,就會偏移中線

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

謝謝圖示? 這下清楚了

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

舉報

0/150
提交
取消

父元素設置float,來設置水平居中怎么理解

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

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

幫助反饋 APP下載

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

公眾號

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