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

三大CSS定位機(jī)制和position屬性用法

開發(fā) 前端
本文向大家描述一下CSS定位的概念及定位機(jī)制,CSS定位(Positioning)屬性允許你對元素進(jìn)行定位,CSS有三種基本的定位機(jī)制:普通流、浮動(dòng)和絕對定位。

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

CSS定位和浮動(dòng)

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

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

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

一切皆為框

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

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

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

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

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

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

CSS定位機(jī)制

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

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

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

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

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

CSS position屬性

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

position屬性值的含義:

◆static

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

◆relative

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

◆absolute

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

◆fixed

元素框的表現(xiàn)類似于將position設(shè)置為absolute,不過其包含塊是視窗本身。

提示:相對定位實(shí)際上被看作普通流定位模型的一部分,因?yàn)樵氐奈恢孟鄬τ谒谄胀髦械奈恢谩?br />  

【編輯推薦】

  1. CSS外邊距設(shè)置屬性margin用法
  2. CSS框模型組成及用法概述
  3. CSS樣式表設(shè)計(jì)十個(gè)雕蟲小技
  4. 深入學(xué)習(xí)六大CSS選擇符的使用
  5. 解讀DIV CSS網(wǎng)頁布局中CSS無效十個(gè)原因

 

 

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

2010-09-08 16:22:32

PositionCSS

2010-09-15 13:50:04

CSSposition屬性

2010-09-15 13:44:01

CSS positio

2010-08-31 10:30:59

CSSpositionz-index

2010-09-01 11:21:18

CSSpositionfloat

2010-08-24 15:11:24

PositionCSS

2010-09-15 15:03:52

CSS positio

2010-09-15 14:30:07

CSS backgro

2010-09-13 12:56:56

CSSpositionfloat

2010-08-23 09:42:50

CSSPosition

2010-09-03 13:02:04

CSSposition

2010-09-15 14:56:18

CSSposition:fi

2010-09-06 17:20:04

background-CSS

2010-09-15 14:00:06

position屬性DIV

2010-08-25 14:45:57

CSS絕對定位

2010-08-16 11:05:54

DIV+CSS

2010-09-10 10:10:36

CSS屬性

2010-08-31 15:24:43

CSSpositionabsolute

2010-09-02 11:18:46

CSSfloatposition

2010-09-10 10:47:47

CSSposition
點(diǎn)贊
收藏

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