2012-11-30 77 views
0

我的網站大部分使用相對字體和流體佈局技術,因此我們的網站佈局將根據瀏覽器的默認字體大小設置爲縮放比例。但是,某些元素具有固定的寬度,而且我們的佈局超過了特定的字體大小,但效果不佳或效果不佳。在這一點上返回並改變所有這些元素是不可行的。允許相對字體大小達到特定的最大值

所以,我想允許網站根據用戶在瀏覽器中選擇的默認字體大小進行調整 - 在一定範圍內。例如,在瀏覽器fontsize22px;上,事情開始顯得有些詭異。我希望網站是相對的,直到達到最大基本大小22px

從我可以收集,似乎沒有任何簡單的方法來指定這純粹在CSS中。我認爲最好的方法是使用Javascript來檢測頁面加載時的基地fontsize,如果它是>22px那麼我會在我的身體標記上設置樣式以將font-size修復爲22px。如果它小於22px,我不會做任何事情(並保留默認的相對風格)。我不關心在加載頁面時處理字體大小變化,因爲這看起來像是一個邊緣案例(在下一頁加載時會得到糾正)。

這是最好的方法,還是有更好的方法?

回答

0

您不能阻止用戶增加字體大小(即使您以像素爲單位設置大小,用戶只能按Ctrl +),許多人認爲這很好 - 人們可能需要比您預期的更大的字體大小,並打破布局有些可能比無法讀取更好。所以你可以做的是做出任何合理的努力,以確保頁面適合各種字體大小。

+0

我不確定你是否完全明白這個問題。我知道CTRL +/-會放大頁面,並增加字體大小 - 這很好,因爲這是縮放整個頁面(包括所有的「固定」的佈局),所以一切仍呈現正常,只是放大,我想允許字體大小調整,達到一定的限制。如果我只是將身體設置爲固定大小,比如10px,那麼沒有人能夠改變它。我想讓我的字體大小變量(body:69%,然後是em的兒童),但要確保「69%的默認值」永遠不會> 22px。 – Dan

+0

你仍然不能。無論瀏覽器是讓用戶放大整個頁面還是隻是文本都不是真正相關的。用戶可以在他的用戶樣式表中總是有'* {font-size:32pt!important}「。 –

+0

我不同意;它是相關的(在我的情景中)瀏覽器縮放整頁還是具有不同的基本字體大小。在前者中,佈局被保留下來,並且所有東西都符合佈局。在後者,它是可能的(超過一定大小)的文本不再正確貼合在其容器和包裝/重疊低於理想的方式/截斷。我關心的情況是瀏覽器字體默認設置> 22px的用戶;我知道有人可以通過用戶樣式表覆蓋,但他們自己承擔風險。根據我的要求,這不可能嗎? – Dan