的后代元素教程了是將繼承他的字體大小,除非重新在其后代元素中進行過顯示的設(shè)置。此時,如果你將其子元素的字體大小設(shè)置為“0.75em”,那么其字體大小計算出來后就相當(dāng)于“0.75X16px=12px”;如果用戶通過瀏覽器的UI控件改變了文字的大小,那么我們整個頁面也會進行放大(或縮?。?,不至于用戶改變了瀏覽器的字體后會致使整個頁面崩潰(我想這種現(xiàn)像大家都有碰
4、到過,不信你就試試你自己制作過的項目,你會覺得很恐怖)。大家可以查看這個彈性布局樣例。此時你使用瀏覽器的UI控件改變了文字的大小或者直接“ctrl+”和“ctrl-”,你會發(fā)現(xiàn)這個彈性布局實例,在瀏覽器改變字體大小瀏覽會做出相應(yīng)的放大和縮小,并不會影響整個頁面的布局。注:這個實例的所有HTML和CSS在本教程中教程了都會使用到。至于其他的彈性布局的實例,大家可以瀏覽DanCederholm的Simplebites,并改變文字的大小去瀏覽。體驗后,是不是覺得彈性布局的頁面很靈活呀,而且也像“px”一樣的精確。因此,只
5、要我們掌握了“font-size”、“px”和“em”之間的基本關(guān)系,我們就可以民以食快速使用CSS創(chuàng)建精確的布局。CSS的Elastigirl引進EMElastigirl的“em”是極其強大和靈活的,他不管字體大小是什么,是12px,16或60,他都可以計算出其值。em其實就是一種排版的測試單位,而且他的由來還有一段小故事,關(guān)于這段小故事我就不和大家說了,因為大家都不是來聽我講故事的,我想大還是喜歡知道他在CSS中的那些事。在CSS中,“em”實際上是一個垂直測量。一個em等于任何字體中的字母所需要的垂直空間,而
6、和它所占據(jù)的水平空間沒有任何的關(guān)系,因此:如果字體大小是16px,那么1em=16px。入門在我們開始來了解CSS中的這個“em”之前,我們需要知道在瀏覽器下,他的默認字體大小。正好我們前面也這樣做了,在所有現(xiàn)代瀏覽器中,其默認的字體大小就是“16px”。因此在瀏覽器下默認的設(shè)置將是:1em=16px因此,在一個CSS選擇器被寫入時,瀏覽器就有了一個“16px”大小的默認字體。此時我們Web頁面中的
就繼承了這個“font-size:16px;”,除非你在CSS樣式中顯式的設(shè)置的“font-s
7、ize”值,來改變其繼承的值。這樣一來,“1em=16px”、“0.5em=8px”、“10em=160px”等等,那么我們也可以使用“em”來指定任何元素的大小。設(shè)置Body的font-size很多前輩在多年的實踐中得出一個經(jīng)驗,他們建議我們在
中設(shè)置一個正文文本所需的字體大小,或者設(shè)置為“10px”,相當(dāng)于(“0.625em或62.5%”),這樣為了方便其子元素計算。這兩種都是可取的。但是我們都知道,的默認字體是“16px”,同時我們也很清楚了,我們改變了他的默認值,要讓彈性布局不被打破,
8、就需要重新進行計算,重新進行調(diào)整。所以完美的設(shè)置是:body{font-size:1em;}可是在那個沒人愛的IE底下,“em”會有一個問題存在。調(diào)整字體大小的時候,同樣會打破我們的彈性布局,不過還好,有一個方法可以解決:html{font-size:100%;}公式轉(zhuǎn)換——PXtoEM如果你是第一創(chuàng)建彈性布局的,最好在身邊準備一個計算器,因為我們一開始少不