CSS定位的三種機制:普通流、絕對定位和浮動


1.普通流:
  • position : static – 元素框正常生成。即上述不對元素進行任何樣式設置的默認形態。
  • position : relative (此時設置top, right, bottom, left生效) – 相對於它的原點定位,元素仍保持其未定位前的形狀,它原本所占的空間仍保留。

例如:

CSS定位的三種機制:普通流、絕對定位和浮動
CSS定位的三種機制:普通流、絕對定位和浮動

定位前:

CSS定位的三種機制:普通流、絕對定位和浮動

定位后:

CSS定位的三種機制:普通流、絕對定位和浮動

可以看出,div1相對於之前的位置,距離top偏移了40px,距離left偏移了60px。

注:top:40px指的是距上偏移40px,而不是向上偏移40px。

2.絕對定位:
  • position : absolute – 將該元素從文檔流中刪除,原來的占位不再存在,並相對於其最近的已定位祖先元素定位(如果不存在已定位的祖先元素,則相對於其根祖先元素定位,即或<</span>canvas>)。不論該元素為塊級元素還是內聯級元素,定位后該元素將以塊級元素的形式顯示。

例如:

CSS定位的三種機制:普通流、絕對定位和浮動
CSS定位的三種機制:普通流、絕對定位和浮動

定位前:

CSS定位的三種機制:普通流、絕對定位和浮動

定位后:

CSS定位的三種機制:普通流、絕對定位和浮動

  • position : fixed – 與absolute 大致相同,只是相對於當前視窗定位(即滾動條滑動時當前元素位置不會隨之改變)。

注1:絕對定位的元素不在文檔流中,因此會覆蓋其他元素。

注2:設置當前元素position : absolute時,應將其父元素position : relative。

3.浮動:
  • l float : left 或float : right –- 將元素從原來的占位中刪除,向左或向右漂浮,直到碰到包含塊的邊框,或另一浮動元素的邊框為止。不論該元素為塊級元素還是內聯級元素,定位后該元素將以塊級元素的形式顯示。

注:只有在position為static或relative,或繼承了父元素的static或relative時,浮動才生效。

浮動場景:

  • 浮動框總體寬度超過容器:浮動框塊下移,直到有足夠的空間

CSS定位的三種機制:普通流、絕對定位和浮動

  • 各浮動框高度不同:下移的浮動框有可能被“卡住”

CSS定位的三種機制:普通流、絕對定位和浮動

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM