常用單位、各種定位


PX(固定單位)

單位名稱為像素,絕對長度單位,像素px是相對於顯示器屏幕分辨率而言的。像素的使用性特別廣。使用px定義文字,無論用戶怎么設置,都不會改變大小。

 

em(是所在標簽的字體大小,多少em就是代表多少倍)

單位名稱為相對長度單位。它沒有一個固定數值,支持小數點后三位數,相對於當前對象內文本的字體尺寸。如當前對行內文本的字體尺寸未被人為設置,則相對於瀏覽器的默認字體尺寸。需要注意的是:若父級單位用了em,且設置了文本大小,這父級大小會隨文本大小而改變,會繼承父級元素的字體大小。

rem(相對於根元素【html】字體大小的倍數)

適用場景:移動端開發

是CSS3新增的一個相對單位(root em,根em),是相對HTML根元素。通過它既可以做到只修改根元素就可以成比例地調整所有字體大小,又可以避免字體大小逐層復合的連鎖反應。

vh(多少vh就取多少百分比)(一般情況下運用於寬和高)

1vh=視口高度的1%

vw

1vw=視口寬度的1%

1、定位體系的意義

  CSS2.1中,一個框(box,就是元素形成的方塊等)可以根據三種定位體系布局。CSS2.1中的定位體系幫助作者使他們的文檔更容易理解,並不需要使用標記的手段(如,不可見的圖片)達到布局的效果。   格式化上下文決定了可視化格式模型中框的形式,定位體系布局決定了這些框在頁面中如何布局。

2、定位體系的分類

  元素在布局時,根據3種定位體系定位。分別是,常規流、浮動和絕對定位。

3、常規流:( Normal flow )

  常規流,是對 normal flow的直譯。   流者,動也。偏旁是三點水,說明,跟水有關系,水的流動是連續不間斷的,也是有先后順序的。在這里,我們把它當作可以流動的(位置可變),有先后順序(元素順序加載)的體系。在文檔加載的時候,好像流水似的,一點點的漫過整個畫布。還有一種說法是,瀏覽器在解析HTML CSS JS 的時候的一個流式的過程,從html起始標簽開始 到html結束標簽截止。

  之所以是常規,是因為,這是相對於后面的浮動和定位的一個概念,浮動和定位元素都脫離了當前的常規流。   在 CSS2.1中,常規流包括塊框(block boxes)的塊格式化(blok formatting 后續會講到),行內框(inline boxes)的行內格式化(inline formatting 后續會講到),塊框或行內框的相對定位,以及插入框的定位。

  在 CSS 中,元素定義的環境有兩種,一種是塊格式化上下文( Block formatting context ),另一種是行內格式化上下文( Inline formatting context )。 這兩種上下文定義了在 CSS 中元素所處的環境,格式化則表明了在這個環境中,元素處於此環境中應當被初始化,即在常規流中的框,都屬於一個格式化的上下文中等。

4、浮動(Floats)

浮動,顧名思義,相對於常規流來講,它漂浮在常規流的上方。因為它不再處於文檔流中,所以它不占據空間。

  在浮動模型中,一個框(box)首先根據常規流布局,再將它從流中取出並盡可能地向左或向右偏移。內容可以沿浮動區的側面排列。因為它首先要根據常規布局后才偏移,所以效率較常規流低。   用 ‘float’ 特性聲明浮動,特性值可以是:”none”、”left”、”right”。

5、絕對定位(Absolute positioning)

  在絕對定位模型中,一個框(box)整個地從常規流向中脫離(它對后續的兄弟元素沒有影響),並根據它的包含塊來分配其位置。

6、選擇定位方案

  ‘float’和’position’特性決定了使用哪種CSS2.1定位算法來計算框的位置。   不同的position選擇不同的定位算法。

屬性 示例 描述
color color:red 設置元素內容的顏色
text-align text-align:center 設置元素內容的對齊方式
font-size font-size:28px 設置元素內容的文字大小
font-weight font-weight:bold 設置元素內容的文字粗細
background-color background-color:red 設置元素的背景顏色

7.層疊

1.聲明沖突:當相同屬性名不同屬性值應用於同一個元素,就是產生聲明沖突。此時瀏覽器就會自動觸發層疊機制。

  • 層疊的過程

    1.比較優先級:與來源和重要性(!important)【書寫要放在想要賦值的元素的分號之前】相關

    2.比較特殊性

    每一個聲明都有一個特殊性(specificity)。一個聲明的特殊性,取決於規則適用范圍的大小,規則適用范圍越大,特殊性越低,適用范圍越小,特殊性越高(行內樣式>ID選擇器>類選擇器,偽類選擇器>元素選擇器>通配符選擇器)

    a:若聲明是行內樣式。0則為1,否則為0(統計每一個的個數)

    b:規則中ID選擇器的個數

    c:規則中類選擇器,偽類選擇器和屬性選擇器的個數

    d:規則中元素選擇器,偽元素選擇器的個數

    3.比較源次序

誰寫在后面誰就有更高的優先級

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM