Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 哪些CSS缩微器/压缩器不';是否忽略时间单位值?_C#_Asp.net_Css_Minify - Fatal编程技术网

C# 哪些CSS缩微器/压缩器不';是否忽略时间单位值?

C# 哪些CSS缩微器/压缩器不';是否忽略时间单位值?,c#,asp.net,css,minify,C#,Asp.net,Css,Minify,问题“”的答案指出,省略时间单位值是无效的。我的第一个但不是主要问题是: 这是真的吗?在时间值中省略单位确实无效吗? 据我所见,关于长度值 但是,对于零长度,单元标识符是可选的(…) 对于其他类型的值,情况并非如此,但同时它也表示它无效。“很清楚地说,无效 那么,请确定一下:有人能通过其他引用确认它是无效的吗 主要问题:哪些缩微器/压缩器不忽略时间单位值? 事实上,即使它是有效的,也会忽略像a{transition:all.5s0} 因此,对我来说,使用一个不会忽略该装置的压缩机/小型化器似乎很

问题“”的答案指出,省略时间单位值是无效的。我的第一个但不是主要问题是:

这是真的吗?在时间值中省略单位确实无效吗? 据我所见,关于长度值

但是,对于零长度,单元标识符是可选的(…)

对于其他类型的值,情况并非如此,但同时它也表示它无效。“很清楚地说,无效

那么,请确定一下:有人能通过其他引用确认它是无效的吗

主要问题:哪些缩微器/压缩器不忽略时间单位值? 事实上,即使它是有效的,也会忽略像
a{transition:all.5s0}

因此,对我来说,使用一个不会忽略该装置的压缩机/小型化器似乎很重要。首先,Firefox需要它,其次,如果无效,并且它们相应地更改了引擎,那么将来所有浏览器都可能需要它


注意:我正在ASP.net中开发,希望使用for
System.Web.Optimization
namesapce。我需要一台压缩机,我可以在那里使用。要么使用
IMinifier
接口的内置实现,要么至少使用一个可用的库,这样我就可以编写自己的接口实现

我将使用至少有一个API的小型过滤器/压缩器来更新答案,以便可以编程使用。我将使用一个压缩性能良好的小型化器/压缩程序来接受答案,该压缩程序可以在本地使用Bundle Transformer(这意味着不需要http请求)


话虽如此:请随意提及任何不忽略零时间值单位的迷你程序,因为我认为这对每个人来说都是有趣的,而不仅仅是.net开发人员

目前,我测试了以下工具:

  • 仅举一个c#代码示例,让.net人员知道我在说什么:

    publicstaticvoidregisterbundles(bundleCollectionbundles)
    {
    IBundleTransform yuiTrans=新的CSTransformer(新的yuicsSminifer());
    var cssBundle=new Bundle(“~/content/css/default”,yuiTrans)
    .IncludeDirectory(“~/content/css”和“*.css”);
    }
    
    YUI在不忽略时间单位值的情况下缩小CSS


    2014年12月9日更新:遗憾的是,这不再是事实。在这个问题上感谢世卫组织。你可以用这个自己测试一下


    如果有这样的声明

    a{
    过渡:所有0.5s 0;
    }
    
    YUI压缩机将其缩小到

    a{transition:all.5s 0s}
    
    为什么不直接使用它呢?嗯,目前我是,但是YUI的压缩级别不是很好(例如,
    color:black
    变成了
    color:black
    ,而不是
    color:000
    )。给出了一个概述。这就是为什么我在寻找可能的替代品

  • 系统.Web.Optimization的默认压缩程序

    我不确定,但如果是正确的,
    System.Web.Optimization
    有自己的压缩程序实现。在我的测试中产生不同输出的绝对不是。但是,它将上述示例缩小为

    a{transition:all.5s0}
    
    正如您所看到的,它省略了该单元,因此不是替代方案

  • 没有省略单位

  • 这是我测试的最后一款迷你手机,所以我对它还没有太多的经验,但它看起来比其他的更有希望。它足够聪明,可以缩小到以下大小(添加空格以便于阅读):

    a{-moz转换:all.5s0s;-o转换:all.5s0;
    -webkit转换:all.5s 0;转换:all.5s 0}
    
    如您所见,除了供应商前缀版本
    -moz transition
    ,它省略了该单元。因此,目前这项工作适用于Mozilla浏览器。Firefox接受14.0版之后的非供应商前缀版本的
    transition
    ,但仍然可以识别前缀版本。由于缺少单元,Firefox会忽略默认语句,因此它使用带前缀的语句

    正如我所说的,这是最有希望的迷你版,但它不是一个坚如磐石的解决方案,因为Mozilla有一天可能会取消Firefox中对供应商前缀语句的支持。或者,正如我在本文开头所说的,如果省略单位无效,其他浏览器可以更新他们的引擎


结论:问题仍然存在。如果您知道缩微器/压缩器没有省略零时间值单位,请与他人分享。

尽管它们没有缩小颜色,但以下两个在线缩微器保留零时间值单位


Clean CSS允许您指定是否要从零值中去除单位:


+1用于cssminifier,因为它附带了API。如果您发现更多信息,请随时与我们联系。从我所看到的情况来看,YUI压缩机的当前版本实际上移除了该装置。可以通过指定两个十进制数字来规避此问题:.00s@托林芬曼:谢谢你的评论。更新了我的问题。
--compatibility *,-zeroUnits