2010-11-24 29 views
7

我需要在網站上放置一些字體大小和字體大小的圖標。我已經做了這一段時間,並且不知道這幾天的比分是多少。 JQuery是處理這個或純CSS的首選方法。另外,我是否需要對我的字體大小做任何特殊處理,即使用em而不是px?什麼是處理字體大小調整在網站上的好方法

在此先感謝。

+0

如果您更喜歡使用jQuery,則首選jQuery;)做任何更好的工作。 – robbrit 2010-11-24 15:15:55

回答

5

我會去設置所有單位em s。然後,使用一個簡單的javascript就可以一次性縮放所有內容,如下所示:

$(function() { 
     var fontSize = 1.1; 
     $("#larger").click( 
      function() { 
       console.log("click"); 
       fontSize += .1; 
       $("body").css("font-size", fontSize + "em"); 
      } 
     ); 

     $("#smaller").click( 
      function() { 
       console.log("click"); 
       fontSize -= .1; 
       $("body").css("font-size", fontSize + "em"); 
      } 
     ); 
    }); 
+0

謝謝,這應該做的很好:) – webnoob 2010-11-24 16:12:12

2

您可以通過幾種方法做到這一點。

我更喜歡的是每次向上或向下單擊切換樣式表。你可以使用jQuery或只是普通的ole'JavaScript來完成。

在這種情況下,只要大小在每個樣式表中的值增大或減小,在使用em或px的情況下,無論使用em還是px都沒有區別。

或者,您可以使用JavaScript來簡單地更改特定元素中文本的大小。再說一次,單位並不重要。你只是改變了值(例如12px到14px或1em到1.5em)

+0

`em`或`px`確實很重要。 `em`s是可擴展的,`px`s不是:http://kyleschaeffer.com/best-practices/css-font-size-em-vs-px-vs-pt-vs/但是,再次,你可以認爲現代瀏覽器將頁面放大爲「圖像」......唯一的問題是,那裏有用戶使用近十年的瀏覽器...... **咳嗽** * IE6 * **咳嗽** – 2010-11-24 15:27:47

3

如果你在CSS中使用百分比作爲字體大小,你可以在你的BODY元素上設置一次字體大小,然後改變那個動態值。其他一切都將成爲這個百分比。

+1

這可能變得非常難以追蹤真正的字體大小。不過,對於%字體大小的一個很好的資源是在雅虎結束:http://developer.yahoo.com/yui/fonts/ – Mig 2010-11-24 15:48:35

2

CSS應該可以正常工作。使用em是因爲客戶端仍然可以設置喜歡的字體大小。例如,如果他們的字體大小從14 px開始,em 2會將其設置爲28 px。

如果您在px中設置字體大小,您可以爲憤怒的客戶設置自己的行爲,這些客戶在選擇的瀏覽器中無法控制字體大小。

2

我會使用純CSS(儘管我會用一些jQuery/js來修改BASE字體大小) 儘管它可能會讓ems級聯非常令人沮喪,但最好使用ems。 (稍後會有更多內容)

您需要在可調整大小的區域(12px爲標準)頂部以像素爲單位設置基本字體大小,並且應該以ems爲單位。

現在是令人沮喪的部分:請記住,如果你有一個div與font-size:0.9:em;以及0.8em字體大小的嵌套段落,則該段落將會更小,因爲其基礎將是字體大小爲0.9em的div。

一旦你處理了所有這些,儘管你需要做的只是改變像素的基本字體大小!

1

通常情況下,我使用身體上的62.5%的東西(so 1em == 10px),然後在ems上定義網站上的所有字體大小。對於字體縮放,我做的兩件事情之一:

  1. 請在主容器的div jQuery的CSS變化,並設置字體大小的百分比。這將以類似的方式更改網站上的所有文字。

  2. 在正文上做一個jQuery類更改以表示新的字體大小。然後,您可以通過CSS規則以不同方式縮放頁面的不同部分(只縮放一點導航,正文複製等)。

相關問題