一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

7個你可能不認(rèn)識的CSS單位

 集微筆記 2014-11-20

眾所周知CSS技術(shù)我們雖然很熟悉,在使用的過程卻很容易被困住,這讓我們在新問題出現(xiàn)的時候變得很不利。

隨著web繼續(xù)不斷地發(fā)展,對于新技術(shù)新解決方案的要求也會不斷增長。因此,作為網(wǎng)頁設(shè)計師和前端開發(fā)人員,我們別無選擇,必須熟悉我們手上的工具,做到知己知彼,這樣才能百戰(zhàn)不殆。

這就意味著有那么些個特別的貨,雖然平常都不怎么會用上,但是一旦某個地方需要它們了,他們就真的是特么得合適不過來了呢。

今兒,我就準(zhǔn)備向大伙兒介紹一些你們之前可能很少見過CSS家伙們。他們每個都是度量的單位,類似pixel 和 em 這樣的,但是很有可能你之前從來就沒聽過這些家伙們!就讓我們一起來交個朋友吧~

rem

我們首先介紹下和我們熟悉的很相似的貨。em 被定義為相對于當(dāng)前對象內(nèi)文本的字體大小。炒個栗子,如果你給body小哥設(shè)置了font-size字體大小,那么body小哥的任何子元素的1em就是等于body設(shè)置的font-size。

  1. <body> 
  2.     <div class="test">Test</div> 
  3. </body> 

  1. body { 
  2.     font-size: 14px; 
  3. div { 
  4.     font-size: 1.2em; // calculated at 14px * 1.2, or 16.8px 

你看,這里div這娃的字體大小是1.2em。解釋來說,就是他從body爹爹那里繼承的字體大小(這里是14px)的1.2倍,結(jié)果就是16.8px。

但是,如果你用em一層一層級聯(lián)得定義嵌套元素的字體大小又會花生什么事情呢?在下面這一小段代碼里我們應(yīng)用了和上面一樣一樣的CSS,每一個div都從它上一級父元素繼承了字體大小,并且逐漸得增加。

  1. <body> 
  2.     <div> 
  3.         Test <!-- 14 * 1.2 = 16.8px --> 
  4.         <div> 
  5.             Test <!-- 16.8 * 1.2 = 20.16px --> 
  6.             <div> 
  7.                 Test <!-- 20.16 * 1.2 = 24.192px --> 
  8.             </div> 
  9.         </div> 
  10.     </div> 
  11. </body> 

雖然在某些地方這正是我們想要的,但是通常情況下我們還是希望就依賴單一的相對度量單位就好。這時候嘛,我們就可以使用 rem 了。 ‘r’是“root”的縮寫,意思就是1rem等于根元素的字體大?。淮蟛糠智闆r下,根元素就是<html>元素了。

  1. html { 
  2.     font-size: 14px; 
  3. div { 
  4.     font-size: 1.2rem; 

這樣在上面的那三個嵌套的div娃們的字體大小都是 1.2*14px = 16.8px 了。

適用于網(wǎng)格布局

Rems 不僅僅只是在設(shè)置字體大小上很方便。再炒個栗子,你可以用基于html根元素字體大小的rem作為整個網(wǎng)格布局或者UI庫的大小單位,然后在其他特定的地方用em單位。這樣將會給你帶來更多的字體大小和伸縮的可控性。

  1. .container { 
  2.     width: 70rem; // 70 * 14px = 980px 

概念上來說,這個方法的思想就是讓你的界面根據(jù)你的內(nèi)容進(jìn)行縮放。但是,這樣做并不是對所有的情況都有意義。

vh and vw

響應(yīng)式web設(shè)計離不開百分比。但是,CSS百分比并不是所有的問題的最佳解決方案。CSS的寬度是相對于包含它的最近的父元素的寬度的。但是如果你就想用視口(viewpoint)的寬度或者高度,而不是父元素的,那該腫么辦? 這就是 vh 和 vw 單位為我們提供的。

1vh 等于1/100的視口高度。栗子:瀏覽器高度900px, 1 vh = 900px/100 = 9 px。同理,如果視口寬度未750, 1vw = 750px/100 = 7.5 px。

可以想象到的,他們有很多很多的用途。比如,我們用很簡單的方法只用一行CSS代碼就實現(xiàn)同屏幕等高的框。

  1. .slide { 
  2.     height: 100vh; 

假設(shè)你要來一個和屏幕同寬的標(biāo)題,你只要設(shè)置這個標(biāo)題的font-size的單位為vm,那標(biāo)題的字體大小就會自動根據(jù)瀏覽器的寬度進(jìn)行縮放,以達(dá)到字體和viewport大小同步的效果,有木有?!

vmin and vmax

vh和 vm 依據(jù)于視口的高度和寬度,相對的,vmin 和 vmax則關(guān)于視口高度和寬度兩者的最小或者最大值。比如,瀏覽器的寬度設(shè)置為1100px,高度設(shè)置為700px, 1vmin = 1px, 1vmax = 11px。如果寬度設(shè)置為800px,高度設(shè)置為1080px, 1vmin就等于8px, 1vmax則未10.8px。

那么問題來了,我們應(yīng)該在什么場景下使用這兩個單位呢?

假設(shè)有一個元素,你需要讓它始終在屏幕上可見。只要對其高度和寬度使用vmin單位,并賦予其低于100的值就可以做到了。再來個栗子,可以這樣定義一個至少有兩個邊觸摸到屏幕的方形:

  1. .box { 
  2.     height: 100vmin; 
  3.     width: 100vmin; 

如果你要讓這個方形框框始終鋪滿整個視口的可見區(qū)域(四邊始終觸摸到屏幕的四邊)

  1. .box { 
  2.     height: 100vmax; 
  3.     width: 100vmax; 

結(jié)合使用這些單位可以為我們提供一個新穎有意思的方式來靈活地利用我們視口的大小。

ex and ch

ex 和 ch 單位,類似于 em 和 rem, 依賴于當(dāng)前的字體和字體大小。 但是,不同的是,這兩貨是基于字體的度量單位,依賴于設(shè)定的字體。

ch 單位通常被定義為數(shù)字0的寬度。你可以在Eric Meyers的博客里找到關(guān)于它的一些有意思的討論,例如將一個等寬字體的字母”N”的寬度設(shè)置為40ch,那么在另一種類型的字體里它卻可以包含40個字母。這個單位的傳統(tǒng)用途主要是盲文的排版,但是除此之外,肯定還有可以應(yīng)用他的地方。

ex 定義為當(dāng)前字體的小寫x字母的高度或者 1/2 的 1em。 很多時候,它是字體的中間標(biāo)志。

x-height; the height of the lower case x

這些單位有很多用途,大部分用于版式的微調(diào)。比方說,sup 元素(上角文字標(biāo)),可以通過position:relative;bottom: 1ex;實現(xiàn) 。類似的方法,你可以實現(xiàn)一個下角文字標(biāo)。瀏覽器默認(rèn)的方式是利用

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

  1. sup { 
  2.     position: relative; 
  3.     bottom: 1ex; 
  4. sub { 
  5.     position: relative; 
  6.     bottom: -1ex; 

結(jié)論

持續(xù)關(guān)注不斷發(fā)展壯大的CSS技術(shù)無疑是很重要的,這樣你才能掌握你所持有的工具的全部技能。說不定將來你遇到的某個特殊的問題就需要使用這些復(fù)雜的單位來解決?;c時間去閱讀新的技術(shù)規(guī)范,注冊訂閱一些不錯的網(wǎng)站或者資源,類似 cssweekly這樣的。 當(dāng)然不要忘記現(xiàn)在就去注冊像TUTS +這樣的網(wǎng)站來獲取每周的更新,課程,免費教程還有資源!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    特黄大片性高水多欧美一级 | 欧美精品在线播放一区二区| 亚洲国产成人一区二区在线观看| 中文文精品字幕一区二区| 精品少妇人妻av一区二区蜜桃| 久草精品视频精品视频精品| 亚洲欧美日韩熟女第一页| 激情综合五月开心久久| 日本高清视频在线播放| 亚洲综合色婷婷七月丁香| 伊人久久五月天综合网| 69精品一区二区蜜桃视频| 国产老熟女超碰一区二区三区| 亚洲精品有码中文字幕在线观看| 欧美熟妇一区二区在线| 美女激情免费在线观看| 国产精品超碰在线观看| 国产中文另类天堂二区| 久久永久免费一区二区| 亚洲精品福利视频你懂的| 欧美日韩精品综合在线| 久久精品国产99精品最新| 美国女大兵激情豪放视频播放| 国产精品蜜桃久久一区二区| 丰满少妇被猛烈插入在线观看| 国产成人精品国产成人亚洲| 国产精品内射视频免费| 日本欧美一区二区三区高清| 热久久这里只有精品视频| 国产韩国日本精品视频| 中文字幕日韩欧美一区| 国产无摭挡又爽又色又刺激| 微拍一区二区三区福利| 青青免费操手机在线视频| 日本人妻免费一区二区三区| 成人精品视频在线观看不卡| 日本免费一本一二区三区| 亚洲最大的中文字幕在线视频| 九九热精品视频在线观看| 大香蕉伊人精品在线观看| 久久青青草原中文字幕|