如何在css文件中快速将6位数颜色代码转换为3位数?

时间:2009-12-09 19:13:58

标签: html css xhtml

我有一个大的css文件,我想将所有6位十六进制代码转换为速记3位数。是否有任何在线或离线工具。

我的目的是减少css文件的大小而不会出错。

在不影响css输出的情况下,可以欣赏任何其他提示来减少css文件大小。

修改

正如 me_and 建议css驱动压缩器完成工作 alt text http://easycaptures.com/fs/uploaded/443/7187499702.png

3 个答案:

答案 0 :(得分:1)

如果可以访问服务器端脚本语言或者编辑器处理正则表达式,那么这里有一个正则表达式替换来完成这项工作:

<强> PHP

preg_replace('/#([\dA-Fa-f])[\dA-Fa-f]([\dA-Fa-f])[\dA-Fa-f]([\dA-Fa-f])[\dA-Fa-f]/m', '#$1$2$3', $str);

<强>的JavaScript

var str = '#fd02eb';
str = str.replace(/#([\dA-Fa-f])[\dA-Fa-f]([\dA-Fa-f])[\dA-Fa-f]([\dA-Fa-f])[\dA-Fa-f]/g, '#$1$2$3');

答案 1 :(得分:1)

根据我的理解,您很可能会通过将颜色信息从6位转换为3位来丢失颜色信息,因此您需要指定所需的转换。例子很好。

尽管如此,CSS Drive会为您执行代码压缩。或者只是尝试使用Google进行“CSS压缩”:)

答案 2 :(得分:1)

如果我真的想这样做,我会启动 vim 并编辑该文件。

将大致执行此操作的命令将是:

:%s/\v#(\x)\x(\x)\x(\x)\x;/#\1\2\3;/g

哪个

  • 将vim置于行命令模式;
  • 开始替换;
  • 将vim置于关于特殊字符的“非常神奇”的模式中;
  • 查找#;
  • 所包含的6个十六进制数字的实例
  • 删除每隔一位数字;
  • 贯穿每一行。