CSS百分比單位總結
阿新 • • 發佈:2018-11-06
CSS中的很多地方都是可以使用百分比單位的,之前一直理所當然的認為百分比就是相對於容器的寬高設定的,後來在自己實現垂直居中的多種寫法時,才意識到這個問題,遂收集資料進行整理。
- 相對於容器的寬度的
相對於content-box寬度
width | max-width | min-width | margin | padding | grid-template-columns | grid-auto-columns | column-gap
相對於border-box寬度
left | right
也就是說設定的box-sizing屬性會直接影響到百分比的計算值
(已經在chrome下進行測試) - 相對於容器content-box的高度的
相對於content-box高度
height | max-height | min-height | grid-template-rows | grid-auto-rows | row-gap
相對於border-box高度
bottom | top
(已經在chrome下進行測試) - 相對於自身寬高的
background-size | broder-radius | transform: translate() | border-image-width | transform-origin
- 相對於父元素的font-size的
font-size
(已經在chrome下進行測試) - 相對於自身字號的
line-height
(已經在chrome下進行測試) - 相對於行高的
vertical-align
(已經在chrome下進行測試) - 其他特殊
文中的大部分屬性的百分比單位自己都在chrome下進行了測試,其中相對於自身寬高一項未測試。文中描述如有錯誤,歡迎大家指出來一起交流。
本文參考如下文章
1. 知乎問答:css樣式的百分比都相對於誰
2. 深入理解line-height與vertical-align
這個line-height為vertical-algin的講解比較深入細緻,有時間自己要研究一下,進行一下總結。