我正在尝试重新设计由asp.net gridview控件生成的表。我遇到的问题是gridview正在生成内联样式。如何使浏览器渲染我的CSS而不是html样式属性?
答案 0 :(得分:13)
您可以在CSS文件中尝试!important。
答案 1 :(得分:3)
你可以使用!important;但这并不适用于所有浏览器。
答案 2 :(得分:2)
您可以尝试按照this article将“!important”附加到您的css样式定义上,或者按照Ryan Lanciaux之前的建议添加
答案 3 :(得分:2)
根据CSS规范,元素选择器具有1的特异性,类选择器具有10的特异性,ID选择器具有100的特异性,并且内联样式的特异性为1000.更高的特异性将覆盖更低的特异性,所以内联样式总是赢。但是,有一条出路。 !important 声明会覆盖所有不重要的声明。无论风格的来源是什么,它都会因!important 声明而失败。
来源:Eric A. Meyer的CSS网页设计。
答案 4 :(得分:1)
我认为您需要使用JavaScript覆盖该样式。 jQuery会让这很容易。
答案 5 :(得分:1)
您可能需要查看此内容:http://justgeeks.blogspot.com/2008/09/override-any-css-style-even-inline.html。使用!重要修饰符实现它
答案 6 :(得分:0)
你在使用主题吗?主题创建内联样式。要摆脱它们,你可以关闭gridview的主题:
<asp:GridView EnableTheming="false" ... />
答案 7 :(得分:0)
不幸的是,内联CSS始终是应用于元素的最后一种样式,因此内联样式将始终覆盖外部样式。
如果Gridview生成的样式适合您,请查看ASP.NET CSS友好控件适配器(http://www.asp.net/CssAdapters/)。这是一个很棒的项目。
答案 8 :(得分:0)
内联样式优先于外部样式。除非您使用!重要。
,否则无法覆盖