【CSS】關於position:absolute布局,positionabsolute

來源:互聯網
上載者:User

【CSS】關於position:absolute布局,positionabsolute

在網頁中,如果需要left與top屬性生效,就必須為這個div的style屬性加入position:absolute,這樣,此div才能游離於整體的div布局之外,也就是說,你沒有加position:absolute之前,所有的div遵循我在《【CSS】關於div的對齊與網頁布局》(點擊開啟連結)所提到的,各種各樣布局。

例如下面的代碼:

<div style="position:absolute; left:100px; top:100px; width:20px; height:20px; border:1px solid #000000;"></div>

就得到如下的效果:


如果把position:absolute去掉,那麼left與top屬性是不起作用的,也就是下面的代碼:

<div style="left:100px; top:100px; width:20px; height:20px; border:1px solid #000000;"></div>
得到的效果是這樣的:

這個加了黑色方框的圖層,完全沒有按照預想的位置移動。

但不是說,這個left與top就是距離瀏覽器左上方的距離。它是距離上級div的距離,如果沒有上級div,那麼才是距離瀏覽器左上方的距離,就是說相對於body,這個網頁最大的圖層的距離。

比如下面的代碼:

<div style="position:absolute; left:100px; top:100px; width:20px; height:20px; border:1px solid #000000;"></div><div style="position:absolute; left:100px; top:100px; width:400px; height:400px; border:1px solid #000000;" ><div style="position:absolute; left:100px; top:100px; width:20px; height:20px; border:1px solid #000000;"></div></div>
得到的是如下的效果:

首先第一個圖層就是一開始就用來說明的圖層,position:absolute不受任何div的布局的影響,自己游離於體系之外,

然後,第二個圖層,沒有上級div,所以position:absolute之後的left與top就是自己的左上方相對於瀏覽器左上方的距離

最後,第三個圖層,處於第二個圖層裡面,其上級div就是第二個圖層,存在上級div,所以position:absolute之後的left與top就是自己的左上方相對於第二個圖層的左上方的距離。

另外,IE6是不支援position:fixed的,所以要實現那種懸停效果,不妨考慮利用position:absolute與javascript現實。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.