当前位置: 首页 > 面试题库 >

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

胡利
2023-03-14
问题内容

我在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应用格式时的情况,因为我刚刚在上面的修复中再次看到它,因此它一定来自别的。



 类似资料:
  • 我希望我的应用程序以最低api级别8运行...我尝试了Android:configChanges=“OrientationKeyboardHidden”...在较低版本中,调用onConfigurationchanged()方法并处理定向...但当我运行在3.2和更高版本中时,不调用onConfigurationchanged()并重新创建活动。所以我添加了android:configchange

  • 问题内容: 是否可以使用JavaScript删除元素的CSS属性?例如我有,现在我想通过JavaScript删除zoom属性吗? 问题答案: 通常,您不能从这样的内置对象中删除属性,当然也不能从IE中删除属性(样式对象的zoom属性是IE扩展名) 您可以将其设置为默认值: 现在,有效缩放将来自样式表中定义的任何内容(通过链接和样式标签) 因此,此语法只会修改此元素的局部样式。

  • 本文向大家介绍Jquery删除css属性的简单方法,包括了Jquery删除css属性的简单方法的使用技巧和注意事项,需要的朋友参考一下 有时我们不需要某个css属性时,想删除它,但有没有removeCss方法,怎么办呢? 可以使用如下方法解决 $('选择器').css('css属性','');   即将css属性值赋值为空,页面中就不会显示该css属性了。  如:$('.div1').css('o

  • 问题内容: 我有一个带有日期和详细信息的HTML表。我想在日历视图中显示它。我已经找到了内置的API 11 ,但是当我使用API​​ 8时却无法对其进行充气(需要…) PS。我不需要功能齐全的日历。我只想显示此信息。 有什么办法解决吗? 问题答案: 如您所述,无法在较旧的api级别中显示日历,但是您可以尝试一些开源项目: android-calendar-view CalendarView

  • 我试图使用CSS Flexbox(display:flex)占据窗口的剩余高度。我还想滚动可用。。。也许我在这件事上做得不对,但我已经找了这么久,以至于我找不到其他的选择。 这个想法是有一个固定的容器。在那个固定的容器内是一个柔性盒子,占据了100%的高度。我将项目添加到堆叠在列中的灵活框中。我添加的最后一个项目(容器包装器)里面有动态内容,它将通过AJAX调用替换超文本标记语言(否则我只会将操作