2014-01-05 20 views
0

我需要關於jQuery功能的幫助。爲每個絕對長度單元匹配具有內嵌式字體大小的元素

比方說,我想改變整個文檔的字體大小,第一個任務是增加<body>標籤的字體大小,以便修改所有相對單位,如em或rem。但是,內嵌字體大小和老式的<font size="x">?另外,我想將修改應用到line-height,所以一切都很好地重新格式化。

有人可以幫助完成一個過濾器的代碼,將匹配:

  • <font size="2">
  • <div style"font-size:14px;line-height:17px">
  • <div style"font-size:14‘cm’, ‘mm’, ‘in’, ‘pt’, ‘pc’ and ‘px’;line-height:xyz">

HTML

<div class='parent' style='font-size:15px'> 
    <div>div 1 no inline styling</div> 
    <div style='font-size:1em'>div 2 inlined font-size 1em</div> 
    <div class='div-3'>div 3, CSS font-size:14px;</div> 
    <div style='font-size:22px'>div 4 inlined font-size 22px</div> 
    <div style='font-size:16pt'>div 5 inlined font-size 16pt</div> 
    <div style='font-size:80%'>div 6 inlined font-size 80%</div> 
    <div><font size="2">legacy html font size="2"</font></div> 
</div> 
<div id="output_box"></div> 

經過幾個trys和從@wared and @ZaheerAhmed幫助答案,我可以改革這個JavaScript。我不知道如何測試每個單位的目標,而不是多個if-then-else algorythm和使用通用選擇器'*'可能不是一個好主意,有什麼建議嗎?

的javascript:

$("#trigger").click(function() { 
    /* the overall body tag for relative units */ 
    $("body").css("font-size","+=5%"); 
    /* targetting inlined font-size in pixels */  
    $('*').each(function (index, value) { 
     if (/font-size:[^;]+px/.test($(this).attr('style'))) { 
      $(this).css("font-size","+=2"); 
     } 
    }); 
}); 

我製備a jsFiddle


msdn values and units reference

相對長度單位

  • em計算出的字體大小。 ex小寫字母「x」的高度。
  • px像素,相對於查看設備。
  • %百分比。
  • rem根元素的字體大小。
  • 那些不考慮實際問題
  • vw視口寬度。
  • vh視口高度。
  • vm視口寬度或高度的較小值。
  • ch零寬度(渲染字體中零字形的寬度)。

絕對長度單位

  • 以英寸(1英寸= 2.55釐米)。
  • 釐米釐米。
  • 毫米毫米。
  • pt分(1分= 1/72英寸)。
  • pc Picas(1 pica = 12分)。

A usefull article from Klemen Slavič

回答

1

的首要任務是增加標籤的字體大小,以 使各相關單位,如EM或REM,修改

是,你是對的。

但是,內嵌字體大小和老式<font size="x">

刪除所有這些並使用樣式表。您應該將內容與演示文稿分開。

+0

嗨Oriol,謝謝你的回答。我瞭解前端設計和最佳實踐。我正在嘗試構建一個腳本來調整舊版網站的字體大小。 –

+0

@Milkywayspatterns但我不認爲JS腳本是解決方案。它不會在JS禁用的瀏覽器中工作,它會減慢頁面的負載,...也許你可以嘗試一個服務器端腳本從代碼中刪除內聯樣式 – Oriol

+0

我明白你的意思,重寫html服務器 - 但這不是我的目標,這意味着後端/內容在我的控制之下。我只需要實現[+]和[ - ]字體大小調整按鈕女巫可以對待每種可能的方式已完成樣式。 –

相關問題