我在學習CSS,並在StackOverflow上閱讀關於相對vs絕對字體大小的問題。我遇到了兩個線程。相對字體大小棘手的子元素?
1.在一個線程(CSS font size: relative vs. absolute values. Which to use?),其中一個答案其實尚未回答的問題:[QUOTE]
問題,許多在這裏說,鉑僅用於打印。但是,如果沒有記住DIV具有什麼Em或%值的簡單能力,快速創建文本大小不是很好。例如,當你有:
<body>
<div id="box1">
test text sample1
<div id="box2">
test text sample2
<div id="box3">
test text sample3
<div id="box4">
test text sample4
</div>
</div>
</div>
</div>
我知道這是一個很怪的結構,但讓我們說,一個佈局需要像對圖形的目的和CSS畫面層次感的結構。所以我想讓box1 font = 100%,box2 = 1.2em。 box3 = .8em和box4 = 1.6em
現在,問題是從盒子1的Em也轉移到它的所有孩子,糾正我,如果我錯了,所以這意味着box2不完全是1.2em,並且當我們到達4號字體大小的時候,真的很難說它是什麼。而當我們使用Pt或Px時,它保持我們希望它保持的方式。
但是,Px大小不夠靈活,當我坐在遠離屏幕的位置時,我喜歡在瀏覽器的菜單中使字體變大。讓我們面對它,它很方便。所以Px大小已經結束。那麼爲什麼不使用鉑?瀏覽器差異有多大?
2.另一個線程擁有的數字,計算同樣的問題(Compounded relative font-sizes: a clean way to adopt the font-size of the child, not the parent element) - - 更多說明性質,沒有正確的答案:
舉例來說,如果我有:
td { font-size: 1.3em }
h2 { font-size: 2em }
h3 { font-size: 1.6em }
p { font-size: 1.2 }
和我有我的表格單元格中的標題/段落,我知道我可以通過以下方法避免複製字體大小:
td h2, td h3, td p { font-size: 1em }
這將導致我的表格單元格中字體大小爲1.3em(即td)的標題/段落。
但我在尋找的是一個很好的,乾淨的方式,每個子元素都有它的原始字體大小,而不是父級。
我真的想避免做以下的(當然我想避免使用PX):
td h2 { font-size: 1.54em } // 1.3 x 1.54 ~ 2
td h3 { font-size: 1.23em } // 1.3 x 1.23 ~ 1.6
td p { font-size: 0.92em } // 1.3 x 0.92 ~ 1.2
對於任何熟悉LESS,我使用,我想我應該能夠用它來爲我做計算,例如。使用訪問:
td h2 { font-size: h2['font-size']/td['font-size'] }
這至少會使用原始值做計算,但感覺就像是笨拙以上,此外,似乎少了不再支持存取反正。
這在概念上看起來很簡單,我覺得答案盯着我的臉,但我一直對我的頭撞了一會兒,無法在任何地方找到答案。
請幫忙!在這一點上,如果有人告訴我,它不能完成,並且可以繼續使用像素值,我會非常高興地相信它們!
可以顯而易見,我的問題是什麼現在... 是否有使用相對字體大小(或任何相對規模 - 像寬度,高度,等等 - 對於這個問題)一個更好的辦法,而不子元素受父元素影響?
在CSS中使用太多的相對字體大小意味着頁面加載速度較慢(至少與使用絕對值相比),因爲它們需要更多的處理才能完成? – 2012-01-12 15:03:43
從技術上來說,它的加載速度可能會比較慢,但計算機的計算速度會過快,除非數千次這麼做,否則它不會起作用。你最大的問題是a)可維護性(記錄實際尺寸)和b)總體設計(當尺寸或顏色只有一些變化時,大多數設計是最有效的)。編寫代碼以使用HTML最佳實踐可能會對使用ems和像素的負載速度產生較大影響。 – Shauna 2012-01-12 16:29:37