html中幾種定位的方法

來源:互聯網
上載者:User

標籤:body   nbsp   viewport   fixed   win   解析度   view   app   stat   

1,static(預設)

當你沒有為一個元素(例如div)指定定位方式時,預設為static,也就是按照文檔的流式(flow)定位,將元素放到一個合適的地方。所以在不同的解析度下,採用流式定位能很好的自適合,取得相對較好的布局效果。

一般來說,我們不需要指明當前元素的定位方式是static——因為這是預設的定位方式。除非你想覆蓋從父元素繼承來的定位系統。

left,top屬性對static沒有效果,static是靠margin這些定位的。

2,relative(相對定位)

在static的基礎上,如果我想讓一個元素在他本來的位置做一些調整(位移),我們可以將該元素定位設定為relative,同時指定相對位移(利用top,bottom,left,right)。

有一點需要注意的是,相對定位的元素仍然在文檔流中,仍然佔據著他本來佔據的位置空間——雖然他現在已經不在本來的位置了。

 

3,absolute(絕對位置)

如果你想在一個文檔(Document)中將一個元素放至指定位置,你可以使用absolute來定位,將該元素的position設定為absolute,同時使用top,bottom,left,right來定位。

如果沒有父元素,位置是相對於body來進行的。

絕對位置會使元素從文檔流中被刪除,結果就是該元素原本佔據的空間被其它元素所填充。

  子項目絕對位置,父元素絕對位置 

4,mix relative and absolute(混合相對定位和絕對位置)

如果對一個父元素設定relative,而對它的一個子項目設定absolute,如:

 
1234 <div id="parent" style="position:relative">     <div id="child" style="position:absolute">     </div> </div>

則子項目的絕對位置的參照物為父元素。

 

利用混合定位,我們可以用類似下面的css來實現兩列(Two Column)定位

 
123456789101112131415 #div-parent {  position:relative; } #div-child-right {  position:absolute;  top:0;  right:0;  width:200px; } #div-child-left {  position:absolute;  top:0;  left:0;  width:200px; }

 

5, fixed(固定定位)

我們知道absolute定位的參照物是“上一個定位過的父元素(static不算)”,那麼如果我想讓一個元素定位的參照物總是整個文檔(viewport),怎麼辦呢?

答案是使用fixed定位,fixed定位的參照物總是當前的文檔。利用fixed定位,我們很容易讓一個div定位在瀏覽器文檔的左上,右上等方位。比如你想添加一個資訊提示的div,並將該div固定在右上方,你可以使用以下css

 
1 .element  {  position:fixed;  top:2%;  right:2%; }

 

6,float(浮動)

對於浮動,需要瞭解的是:

*浮動會將元素從文檔流中刪除,他的空間會被其它元素補上。

*浮動的參數物是父元素,是在父元素這個容器中飄。

*為了清除浮動造成的對浮動元素之後元素的影響,我們在浮動元素之後加一個div,並將這個div的clear設定為both。

*如果兩個元素都設定了浮動,則兩個元素並不會重疊,第一個元素佔據一定空間,第二個元素緊跟其後。如果不想讓第二個元素緊跟其後,可以對第二個浮動的元素使用clear。

 

7,reference

 

Value Description
static Elements renders in order, as they appear in the document flow. This is default.
absolute The element is positioned relative to its first positioned (not static) ancestor element
fixed The element is positioned relative to the browser window
relative The element is positioned relative to its normal position, so "left:20" adds 20 pixels to the element‘s LEFT position
inherit The value of the position property is inherited from the parent element

 

html中幾種定位的方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.