自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CSS Positioning定位詳解

開發(fā) 前端
本文向大家介紹一下CSS定位的概念,CSS為定位和浮動(dòng)提供了一些屬性,利用這些屬性,可以建立列式布局,將布局的一部分與另一部分重疊。

你對(duì)CSS Positioning定位的概念是否了解,這里和大家分享一下,定位的基本思想很簡(jiǎn)單,它允許你定義元素框相對(duì)于其正常位置應(yīng)該出現(xiàn)的位置,或者相對(duì)于父元素、另一個(gè)元素甚至瀏覽器窗口本身的位置。

CSS Positioning定位

CSS定位(Positioning)屬性允許你對(duì)元素進(jìn)行定位。

CSS定位和浮動(dòng)

CSS為定位和浮動(dòng)提供了一些屬性,利用這些屬性,可以建立列式布局,將布局的一部分與另一部分重疊,還可以完成多年來通常需要使用多個(gè)表格才能完成的任務(wù)。

定位的基本思想很簡(jiǎn)單,它允許你定義元素框相對(duì)于其正常位置應(yīng)該出現(xiàn)的位置,或者相對(duì)于父元素、另一個(gè)元素甚至瀏覽器窗口本身的位置。顯然,這個(gè)功能非常強(qiáng)大,也很讓人吃驚。要知道,用戶代理對(duì)CSS2中定位的支持遠(yuǎn)勝于對(duì)其它方面的支持,對(duì)此不應(yīng)感到奇怪。

另一方面,CSS1中***提出了浮動(dòng),它以Netscape在Web發(fā)展初期增加的一個(gè)功能為基礎(chǔ)。浮動(dòng)不完全是定位,不過,它當(dāng)然也不是正常流布局。我們會(huì)在后面的章節(jié)中明確浮動(dòng)的含義。

一切皆為框

div、h1或p元素常常被稱為塊級(jí)元素。這意味著這些元素顯示為一塊內(nèi)容,即“塊框”。與之相反,span和strong等元素稱為“行內(nèi)元素”,這是因?yàn)樗鼈兊膬?nèi)容顯示在行中,即“行內(nèi)框”。

您可以使用display屬性改變生成的框的類型。這意味著,通過將display屬性設(shè)置為block,可以讓行內(nèi)元素(比如<a>元素)表現(xiàn)得像塊級(jí)元素一樣。還可以通過把display設(shè)置為none,讓生成的元素根本沒有框。這樣的話,該框及其所有內(nèi)容就不再顯示,不占用文檔中的空間。

但是在一種情況下,即使沒有進(jìn)行顯式定義,也會(huì)創(chuàng)建塊級(jí)元素。這種情況發(fā)生在把一些文本添加到一個(gè)塊級(jí)元素(比如div)的開頭。即使沒有把這些文本定義為段落,它也會(huì)被當(dāng)作段落對(duì)待:

  1. <div> 
  2. sometext  
  3. <p>Somemoretext.</p> 
  4. </div> 

在這種情況下,這個(gè)框稱為無名塊框,因?yàn)樗慌c專門定義的元素相關(guān)聯(lián)。

塊級(jí)元素的文本行也會(huì)發(fā)生類似的情況。假設(shè)有一個(gè)包含三行文本的段落。每行文本形成一個(gè)無名框。無法直接對(duì)無名塊或行框應(yīng)用樣式,因?yàn)闆]有可以應(yīng)用樣式的地方(注意,行框和行內(nèi)框是兩個(gè)概念)。但是,這有助于理解在屏幕上看到的所有東西都形成某種框。

CSS定位機(jī)制

CSS有三種基本的定位機(jī)制:普通流、浮動(dòng)和絕對(duì)定位。

除非專門指定,否則所有框都在普通流中定位。也就是說,普通流中的元素的位置由元素在X(HTML)中的位置決定。

塊級(jí)框從上到下一個(gè)接一個(gè)地排列,框之間的垂直距離是由框的垂直外邊距計(jì)算出來。

行內(nèi)框在一行中水平布置??梢允褂盟絻?nèi)邊距、邊框和外邊距調(diào)整它們的間距。但是,垂直內(nèi)邊距、邊框和外邊距不影響行內(nèi)框的高度。由一行形成的水平框稱為行框(LineBox),行框的高度總是足以容納它包含的所有行內(nèi)框。不過,設(shè)置行高可以增加這個(gè)框的高度。

在下面的章節(jié),我們會(huì)為您詳細(xì)講解相對(duì)定位、絕對(duì)定位和浮動(dòng)。

CSS position屬性

通過使用position屬性,我們可以選擇4中不同類型的定位,這會(huì)影響元素框生成的方式。

◆position屬性值的含義:

static

元素框正常生成。塊級(jí)元素生成一個(gè)矩形框,作為文檔流的一部分,行內(nèi)元素則會(huì)創(chuàng)建一個(gè)或多個(gè)行框,置于其父元素中。

relative

元素框偏移某個(gè)距離。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。

absolute

元素框從文檔流完全刪除,并相對(duì)于其包含塊定位。包含塊可能是文檔中的另一個(gè)元素或者是初始包含塊。元素原先在正常文檔流中所占的空間會(huì)關(guān)閉,就好像元素原來不存在一樣。元素定位后生成一個(gè)塊級(jí)框,而不論原來它在正常流中生成何種類型的框。
 

【編輯推薦】

  1. CSS 尺寸屬性用法解讀
  2. IE6.0對(duì)padding的解讀分析
  3. CSS border-collapse屬性用法解析
  4. CSS overflow溢出屬性
  5. CSS中cellspacing和cellpadding屬性用法揭秘

 

 

責(zé)任編輯:佚名 來源: 68tt.com
相關(guān)推薦

2010-09-06 13:15:48

CSS定位

2010-09-08 16:22:32

PositionCSS

2010-09-10 12:40:06

CSS相對(duì)定位CSS絕對(duì)定位

2010-09-06 11:11:31

CSS定位

2010-08-31 10:30:59

CSSpositionz-index

2025-02-26 09:18:43

2014-07-24 09:11:34

2010-09-06 11:17:19

CSS相對(duì)定位CSS絕對(duì)定位

2010-09-10 11:32:23

CSS絕對(duì)定位CSS相對(duì)定位

2025-04-16 05:00:00

2024-07-17 10:16:21

2010-08-25 14:56:15

CSS相對(duì)定位

2010-08-24 08:47:20

paddingCSS

2014-07-17 14:51:52

2010-09-10 13:07:51

CSS DIV絕對(duì)定位CSS DIV固定定位

2010-08-17 11:10:16

DIV+CSS

2010-08-25 14:45:57

CSS絕對(duì)定位

2010-09-15 15:03:52

CSS positio

2010-09-14 17:07:26

DIV浮動(dòng)定位CSS

2010-09-13 13:12:57

CSS定位
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)