Visual Studio(2012及更低版本)删除CSS属性

Ren*_*der 26 html css debugging visual-studio-2010 visual-studio

我对Visual Studio 2010有一个非常奇怪的问题.当我将渐变的CSS属性添加到我的样式表时,Visual Studio将在经过一些调试后删除它.

我添加到样式表的代码示例:

.button
{
    /* Firefox */
    background-image: -moz-linear-gradient(top, #fff, #efefef);
    /* Chrome, Safari */
    background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #fff),color-stop(1, #efefef));
    /* Modern Browsers*/
    background-image: linear-gradient(top, #fff, #efefef);
    /* IE */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', EndColorStr='#efefef'); 
}
Run Code Online (Sandbox Code Playgroud)

有时当我开始调试时,Visual Studio编辑CSS:

.button
{
    /* Firefox */
    background-image: linear-gradient(top, #fff, #efefef);
    /* Chrome, Safari */
    /* Modern Browsers*/
    }
Run Code Online (Sandbox Code Playgroud)

所以Visual Studio似乎删除了一些它不知道的属性.这真的很烦人.知道如何阻止它吗?

这不是CSS评论的问题.它也没有评论.

更新

它似乎通过保存包含css文件的文件来实现.当我编辑我的主版面并保存它时,Visual Studio将删除我在链接的css文件中提到的这个属性.

不是 CSS3问题,因为它不会触及我的border-radius类和id.所以也许它是过滤属性.但是我希望停止Visual Studio在没有权限的情况下在css文件中更改我的东西.

更新27. 2014年6月

Visual Studio 2013中解决了问题 https://connect.microsoft.com/VisualStudio/feedback/details/782677/visual-studio-is-deleting-css

joh*_*eur 5

好的,我找到了一个临时解决方法:

"filter:"样式的存在导致所有"background-image:"样式消失,除了列出的最后一个样式.并不是它正在删除它不知道的东西,它只是删除除了列出的最后一个"背景图像"样式.必须是Microsoft(预期)的方式使过滤器和MS特定的背景图像样式很好地一起播放,但是它们没有很好地编码.绝对是MS VS缺陷.要重新生成,只需右键单击具有与此类似的代码的CSS类:

background-color: #EBEBEB; /* Fallback background color for non supported browsers */  
background-image: -webkit-gradient(linear, left top, right top, from(#FFFFFF), to(#DAD6E7));  
background-image: -webkit-linear-gradient(left, #FFFFFF, #DAD6E7);  
background-image: -moz-linear-gradient(left, #FFFFFF, #DAD6E7);  
background-image: -ms-linear-gradient(left, #FFFFFF, #DAD6E7);  
background-image: -o-linear-gradient(left, #FFFFFF, #DAD6E7);  
background-image: linear-gradient(left, #FFFFFF, #DAD6E7);  
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', EndColorStr='#DAD6E7', gradientType='1'); /* IE6 - IE9 */
Run Code Online (Sandbox Code Playgroud)

然后选择"Build Style ...".然后单击"确定"而不更改任何内容,并观察除去最后一个背景图像以外的所有图像.尝试更改"背景图像样式"的顺序,最后留下webkit,然后自己查看.

您会注意到,如果删除"filter:"样式,问题就会消失,但是我们需要(对于此示例),因此解决方案似乎将"filter:"样式移到了所有"background-image:"之上.线.一旦你这样做,就会让他们独自一人,问题就消失了.

将上面的CSS改为此似乎可以缓解这个问题:

filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', EndColorStr='#DAD6E7', gradientType='1'); /* IE6 - IE9 */
background-color: #EBEBEB; /* Fallback background color for non supported browsers */  
background-image: -webkit-gradient(linear, left top, right top, from(#FFFFFF), to(#DAD6E7));  
background-image: -webkit-linear-gradient(left, #FFFFFF, #DAD6E7);  
background-image: -moz-linear-gradient(left, #FFFFFF, #DAD6E7);  
background-image: -ms-linear-gradient(left, #FFFFFF, #DAD6E7);  
background-image: -o-linear-gradient(left, #FFFFFF, #DAD6E7);  
background-image: linear-gradient(left, #FFFFFF, #DAD6E7);  
Run Code Online (Sandbox Code Playgroud)

更新: 上面的解决方法仅适用于当您使用"构建样式..." - >"修改样式"对话框时VS应用格式,因为我刚刚看到上面的修复程序,因此它必须来自别的.