【发布时间】:2015-10-13 04:39:46
【问题描述】:
我被要求更改客户网站中使用的字体。他们正在使用商业模板。
我在样式表文件中进行了搜索,发现“font-family”在 12 个不同的文件中出现了近 400 次,我需要以某种方式覆盖它们。
我不想使用通用规则 (*),因为感觉它会导致意外结果(例如阻止我使用第二个字体系列)
有什么想法吗?
我想也许我可以使用一些工具/软件将每个文件中的整个规则提取到一个单独的文件中,然后我可以轻松地复制它们并搜索替换字体系列,是否有这样的工具/软件?
我也可以使用 PHP 来查看这些文件并在运行时搜索/替换,但在每次页面加载时运行它似乎是一种不好的做法。
请指教,你会怎么做?
** 更多信息:**
我不想编辑原始文件或完全复制它们。我只想提取规则名称和 font-family 属性和值。
例子:
.some_rule {color: red;font-size: 16px;**font-family: 'whatever';**float: right;}
成为/提取:
.some_rule {**font-family: 'whatever';**}
然后我只能将这部分复制到我的 override.css 文件中(例如)。 谢谢!
** 更新 ** 我确信有更好的方法可以做到这一点,但为了我的需要,只需几行代码就可以完成,这就是我所做的:
- 将文件复制到临时目录
- 对它们进行格式化,以便所有内容都在新行中(声明、attr + 值、右花括号);
- 运行我写的php代码-http://codepad.org/D2YOKYJ5
这个 sn-p 只用我需要的东西创建一个新文件(或写入现有文件)。
【问题讨论】:
-
您不能在覆盖旧
font-family规则的主题样式表之后加载新样式表吗? -
我会使用批量替换作为初学者,但 SASS 建议是要走的路
-
“几乎 400 次出现在 12 个不同的文件中” – 挑选出这些听起来最多需要一个小时的工作……所以把它交给实习生吧:p
-
更严肃一点——我可能更愿意使用 JavaScript 来处理这个客户端……从
Document.styleSheets的循环开始,然后从那里查看个人CSSStyleRules查看他们是否指定了该字体系列……如果是,selectorText进入列表。