首頁  >  文章  >  web前端  >  CSS定位怎麼理解?

CSS定位怎麼理解?

(*-*)浩
(*-*)浩原創
2019-11-29 14:35:022859瀏覽

CSS定位怎麼理解?

CSS 定位 (Positioning) 屬性讓你可以對元素進行定位。

CSS 定位與浮動

CSS 為定位和浮動提供了一些屬性,利用這些屬性,可以建立列式佈局,將佈局的一部分與另一部分則重疊,還可以完成多年來通常需要使用多個表格才能完成的任務。 ( 推薦學習:CSS入門教學 )

定位的基本想法很簡單,它允許你定義元素框相對於其正常位置應該出現的位置,或相對於父元素、另一個元素甚至瀏覽器視窗本身的位置。

顯然,這個功能非常強大,也很令人驚訝。要知道,用戶代理對 CSS2 中定位的支持遠勝於對其它方面的支持,不應對此感到奇怪。

另一方面,CSS1 中首次提出了浮動,它以 Netscape 在 Web 發展初期增加的一個功能為基礎。浮動不完全是定位,不過,它當然也不是正常流佈局。我們會在後面的章節中明確浮動的含義。

一切都是框

div、h1 或 p 元素常被稱為區塊級元素。這意味著這些元素顯示為一塊內容,即「區塊框」。與之相反,span 和 strong 等元素稱為“行內元素”,這是因為它們的內容顯示在行中,即“行內框”。

您可以使用 display 屬性來改變產生的框的類型。這意味著,透過將 display 屬性設為 block,可以讓行內元素(例如 3499910bf9dac5ae3c52d5ede7383485 元素)表現得像區塊級元素一樣。

也可以透過把 display 設定為 none,讓產生的元素根本沒有框。這樣的話,該框及其所有內容就不再顯示,不佔用文件中的空間。

但是在一個情況下,即使沒有明確定義,也會建立區塊級元素。這種情況發生在把一些文字加到一個區塊級元素(例如 div)的開頭。即使沒有把這些文字定義為段落,它也會被當作段落對待:

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

在這種情況下,這個框稱為無名區塊框,因為它不與專門定義的元素相關聯。

區塊級元素的文字行也會發生類似的情況。假設有一個包含三行文本的段落。每行文字形成一個無名框。無法直接對無名區塊或行框套用樣式,因為沒有可以套用樣式的地方(注意,行框和行內框是兩個概念)。但是,這有助於理解在螢幕上看到的所有東西都形成某種框架。

CSS 定位機制

CSS 有三種基本的定位機制:普通流、浮動和絕對定位。

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

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

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

以上是CSS定位怎麼理解?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn