7個Web前端程式設計師必須會用CSS技巧

前端程式猿發表於2019-12-11

1、元素的margin的top、bottom及padding的top、bottom使用百分比作為單位時,其是相對父元素的寬度width的而不是我們想象的高度height;

舉個例子:

7個Web前端程式設計師必須會用CSS技巧

其實出現這種現象,我們可以巧用margin/padding的百分比值實現高度自適應(多用於佔位,避免閃爍)

當然該元素高度上的百分比是相對其父元素高度的百分比的,min-height及max-height也適用這條規律。

7個Web前端程式設計師必須會用CSS技巧

2、含有定位屬性的元素,其top、bottom單位為百分比時,該百分比是相對於父元素的高度的。


在這裡小編建了一個前端學習交流扣扣群:132667127,我自己整理的最新的前端資料和高階開發教程,如果有想需要的,可以加群一起學習交流


同理,left、right則是相對於父元素的寬度的。

7個Web前端程式設計師必須會用CSS技巧

這一點,我昨天在查資料寫這篇文章—最全面的元素水平垂直居中方法彙總的時候就發現有個大牛也理解錯了—-CSS佈局奇淫技巧之–各種居中裡面的第八點。

3、邊框寬度不允許使用百分比值

這點就不解釋了。

4、width:100%

當父容器裡有絕對定位的子元素時,子元素設定width:100%實際上指的是相對於父容器的padding+content的寬度。當子元素是非絕對定位的元素時width:100%才是指子元素的 content ,其等於父元素的 content寬度。

7個Web前端程式設計師必須會用CSS技巧

將上面子元素的position改成了relative後,其寬度就變成了parent寬度。

7個Web前端程式設計師必須會用CSS技巧

5、line-height

你知道line-height:150%和line-height:1.5的區別嗎?知道了就可以跳過此處,不知道繼續看下面:

舉個例子:

7個Web前端程式設計師必須會用CSS技巧

7個Web前端程式設計師必須會用CSS技巧

上面可以看到line-height有單位時,子元素是繼承父元素的line-height的,無單位時,其line-height等於無單位的數值乘以子元素本身的字型大小。顯然為了不出現意外,還是建議首選無單位的。

6、ex和 ch單位

ex:取當前作用效果的字型的x的高度,在無法確定x高度的情況下以0.5em計算;

ch:以節點所使用字型中的“0”字元為基準,找不到時為0.5em;

7個Web前端程式設計師必須會用CSS技巧

ex和 ch單位,類似於 em和 rem,依賴於當前的字型和字型大小。但是,不同的是,這兩貨是基於字型的度量單位,依賴於設定的字型。

ch單位通常被定義為數字0的寬度。你可以在Eric Meyers的部落格裡找到關於它的一些有意思的討論,例如將一個等寬字型的字母”N”的寬度設定為40ch,那麼在另一種型別的字型裡它卻可以包含40個字母。

這個單位的傳統用途主要是盲文的排版,但是除此之外,肯定還有可以應用他的地方。

ex定義為當前字型的小寫x字母的高度或者 1/2的 1em。很多時候,它是字型的中間標誌。

7個Web前端程式設計師必須會用CSS技巧

x-height; the height of the lower case x

這些單位有很多用途,大部分用於版式的微調。比方說,sup元素(上角文字標),可以通過position:relative;bottom: 1ex;實現 。類似的方法,你可以實現一個下角文字標。瀏覽器預設的方式是利用

上標和下標特定垂直對齊規則,但是如果你想更細粒度更精確得控制,你可以像下面這樣做:

Css程式碼

7個Web前端程式設計師必須會用CSS技巧

7、使用calc時運算子之間要有空格 ,否則可能無效。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940844/viewspace-2668155/,如需轉載,請註明出處,否則將追究法律責任。

相關文章