我在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'); }
有时,当我开始调试时,Visual Studio会编辑CSS:
.button { /* Firefox */ background-image: linear-gradient(top, #fff, #efefef); /* Chrome, Safari */ /* Modern Browsers*/ }
因此,Visual Studio似乎删除了一些未知的属性。真烦人。 知道我该如何阻止吗?
这不是CSS注释的问题。没有评论也可能发生。
更新资料
似乎是通过保存包含css文件的文件来实现的。当我编辑主版面并将其保存时,Visual Studio将删除上面在链接的CSS文件中提到的该属性。
而且这 不是 CSS3问题,因为它不涉及我的border-radius类和id。所以也许是filter属性。但是我想停止Visual Studio未经许可而更改css文件中的内容。
更新27.2014年6月
在Visual Studio 2013中解决的问题 https://connect.microsoft.com/VisualStudio/feedback/details/782677/visual- studio-is-deleting- css
好的,我为此找到了一个临时解决方法:
“ filter:”样式的存在是导致所有“ background-image:”样式消失的原因,除了最后列出的一种。 不是删除了不知道的内容,而是删除了除最后列出的“背景图像”样式以外的所有样式。必须是使过滤器和特定于MS的背景图像样式完美配合的Microsoft(预期)方式,但是他们并没有很好地编写代码。绝对是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 */
然后选择“构建样式…”。然后,单击“确定”,不进行任何更改,然后将其删除,除去最后一个背景图像。尝试更改“背景图像样式”的顺序,最后保留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);
更新: 以上解决方法仅适用于当您使用“构建样式…”->“修改样式”对话框时VS应用格式时的情况,因为我刚刚在上面的修复中再次看到它,因此它一定来自别的。