使用单一规则放大所有文本的字体大小(以%为单位)?

时间:2013-10-07 19:51:52

标签: jquery html css font-size

我使用电子商店引擎,其中许多文本样式直接以像素为单位定义(每个元素 - 自己的标尺),而不是相对单位。现在客户要求我将所有文本(文本,标签,标题等)放大10%。 我不想抛出所有样式并为每个元素编写单独的新规则。

所以我正在寻找一些解决方案,可以在CSS中使用简单的规则扩大所有元素的字体大小,或者,如果不可能,那么JQuery

我尝试在CSS规则中使用 * { font-size: 110% !important; } 但它递归地工作(祖先 - >孩子 - >孩子 - 每个级别+ 10%)所以一些有几个祖先的文本元素变得非常庞大。

2 个答案:

答案 0 :(得分:3)

所以我使用Lukasz Dziedzia's answer中的代码来获取页面中的所有文字。

现在我们使用$(this).css({ "font-size":($(this).css("font-size").replace('px','')*1.1 + "px"});来更改每个元素的font-size

注意replace('px','');的使用,这里使用的是因为$(this).css("font-size")返回末尾带字母“px”的值。因此,在删除这两个字母后,我们可以进行数学运算:$(this).css("font-size").replace('px','')*1.1

这比第一个答案好:)

小提琴:http://jsfiddle.net/dQsnk/4/

答案 1 :(得分:0)

<basefont>
  

已过时此功能已过时。虽然它仍然受到支持   浏览器,在新项目中不鼓励使用它。尽量避免使用   它

摘要

  

HTML basefont元素()建立默认字体大小   一份文件。然后可以相对于基本字体改变字体大小   使用元素的大小。

https://developer.mozilla.org/en/docs/Web/HTML/Element/basefont

  
      
  • HTML 3.2支持basefont元素,但只支持大小   属性。
  •   
  • 严格的HTML和XHTML规范不支持此元素。
  •   
  • 尽管是过渡标准的一部分,但像Mozilla和Opera这样的一些以标准为重点的浏览器并不支持这一点   元件。
  •   
  • 可以使用元素上的CSS规则模仿此元素。
  •   
  • XHTML 1.0需要此元素的尾部斜杠:。
  •