理解css中的長度單位

很基礎的一個問題,可是,其實看起來很複雜的樣子~~咱們來捋一捋吧~~css

css3中也對css中用到的單位進行了改進,單位也就是那幾個,因此咱們要搞清楚再用。html

  • %——百分比
  • in——寸
  • cm——釐米
  • mm——毫米
  • pt——point,大約1/72寸;
  • pc——pica,大約6pt,1/6寸;
  • px——屏幕的一個像素點;
  • em——元素的font-size;
  • ex——font-size的x-height值,爲小寫字母x的高度,一般至關於font-size的一半。

咱們經常使用的有px、%、em,px就很少說了,em和%多說點兒:css3

1
2
3
.box{line-height:1.3em;}

元素的行高是當前元素繼承的font-size的1.3倍,瀏覽器

1
2
3
.box{font-size:1.3em;}

當前元素的字體大小是其繼承的font-size的1.3倍。字體

1
2
3
.box{line-height:130%;}

元素的行高是當前元素繼承的font-size的130%倍,等同於1.3em。spa

1
2
3
.box{font-size:130%;}

當前元素的字體大小是其繼承的font-size的130%倍,等同於1.3em。htm

恩,迷惑了嗎?繼承

em就是基於當前元素的(若是沒設置就是繼承其父元素的)font-size。rem

而%對於font-size、line-height等,是基於其父元素的font-size的,而對於text-indent、margin、padding、width等屬性,則是基於父元素的寬度的。it

CSS3中的單位:

css3中引入了一些新的單位:

  • ch——字符0(零)的寬度;
  • rem——根元素(html元素)的font-size;
  • vw——viewpoint width,視窗寬度,1vw等於視窗寬度的1%;
  • vh——viewpoint height,視窗高度,1vh等於視窗高度的1%;
  • vmin——vw和vh中較小的那個。

顯然vw、vh、vmin是針對移動設備的,若是視窗大小變化了,這三個值也會跟着相應的變化。

rem單位感受就是px+em的變體,是否值得使用還要看你本身的取捨:沒有px精確也沒有em靈活——或者說,比px靈活,比em更精確~~。。。XD。。。

若是沒有定義font-size怎麼辦?

其實不用擔憂,傳說,各個瀏覽器前所未有的默認font-size:16px;,因此,即使你在樣式文件中忘了定義font-size初始值,也能夠放心的使用em、rem。

瀏覽器支持:

rem,各瀏覽器基本都支持了, IE9+、FF3.6+、Chrome、Safari 5+、以及 Opera 11.6+

vw、vh、vmin,瀏覽器支持並不樂觀,IE9支持了,Chrome目前不支持,Chrome 20將會從新支持(貌似以前支持過?)、Safari也即將支持了吧,Opera和Firefox也還都不支持。

相關文章
相關標籤/搜索