国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

CSS教程 CSS定位屬性

2024-07-11 08:45:19
字體:
供稿:網(wǎ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)然也不是正常流布局。我們會(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)作段落對待:

<div>
some text
<p>Some more text.</p>
</div>


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

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

CSS 定位機(jī)制

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

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

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

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

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

CSS position 屬性

  通過使用 position 屬性 ,我們可以選擇 4 中不同類型的定位,這會(huì)影響元素框生成的方式。
  position 屬性值的含義:
  static 
  元素框正常生成。塊級(jí)元素生成一個(gè)矩形框,作為文檔流的一部分,行內(nèi)元素則會(huì)創(chuàng)建一個(gè)或多個(gè)行框,置于其父元素中。 
  relative 
  元素框偏移某個(gè)距離。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。 
  absolute 
  元素框從文檔流完全刪除,并相對于其包含塊定位。包含塊可能是文檔中的另一個(gè)元素或者是初始包含塊。元素原先在正常文檔流中所占的空間會(huì)關(guān)閉,就好像元素原來不存在一樣。元素定位后生成一個(gè)塊級(jí)框,而不論原來它在正常流中生成何種類型的框。 
  fixed 
  元素框的表現(xiàn)類似于將 position 設(shè)置為 absolute,不過其包含塊是視窗本身。 
  提示: 相對定位實(shí)際上被看作普通流定位模型的一部分,因?yàn)樵氐奈恢孟鄬τ谒谄胀髦械奈恢谩?br />
CSS 定位屬性

  CSS 定位屬性允許你對元素進(jìn)行定位。
  屬性 描述 
  position  把元素放置到一個(gè)靜態(tài)的、相對的、絕對的、或固定的位置中。 
  top  定義了一個(gè)定位元素的上外邊距邊界與其包含塊上邊界之間的偏移。 
  right  定義了定位元素右外邊距邊界與其包含塊右邊界之間的偏移。 
  bottom  定義了定位元素下外邊距邊界與其包含塊下邊界之間的偏移。 
  left  定義了定位元素左外邊距邊界與其包含塊左邊界之間的偏移。 
  overflow  設(shè)置當(dāng)元素的內(nèi)容溢出其區(qū)域時(shí)發(fā)生的事情。 
  clip  設(shè)置元素的形狀。元素被剪入這個(gè)形狀之中,然后顯示出來。 
  vertical-align  設(shè)置元素的垂直對齊方式。 
  z-index  設(shè)置元素的堆疊順序。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 孟州市| 城固县| 河北区| 遵化市| 明光市| 建水县| 瑞丽市| 麟游县| 恭城| 沅陵县| 固安县| 彭州市| 忻州市| 屏南县| 美姑县| 同德县| 涿鹿县| 永昌县| 丽江市| 延安市| 黎川县| 环江| 双桥区| 聊城市| 扬州市| 拉孜县| 台州市| 丹凤县| 湖州市| 冕宁县| 铜川市| 古蔺县| 张北县| 鄂托克前旗| 上思县| 龙门县| 曲周县| 诸城市| 霸州市| 宁城县| 高碑店市|