我有一个 telerik treeview在 HTML 中呈现为 ul
。
当我在我的 aspx 中尝试使用特定的 css
时,它没有以正确的方式出现,因为 CSS 文件有 ul
和 li
选择器。
来自 Firebug :
现在我想从 (#tabContaier ul ,#tabContaier Li)
中排除此控件
我想要一些通用的解决方案来解决这个问题,尤其是 telerik
控件。
编辑:
应用级联技术后:
<telerik:RadTreeView ID="RadTreeView1" runat="server" CheckBoxes="True" Height="200px"
TriStateCheckBoxes="true" CheckChildNodes="true" Skin="rad_rv" EnableEmbeddedSkins="false" >
最佳答案
如果您无法更改指定这些规则的 .css
文件,则有多种方法可以覆盖 CSS 中的规则。
Cascade:顾名思义,在 CSS 中,后写的规则会覆盖前写的规则,无论它们是否在同一个工作表中。
特异性:比您想用选择器覆盖的规则更具体。 More about specificity .
内联样式:使用属性
style
在 HTML 元素中编写您的样式。强烈不建议这样做,因为您应该将表示和内容分开(这就是 CSS 的重点);然而,这是在 javascript 中覆盖它们时通常的处理方式(见下文)。 内联样式实际上只是特异性的一个特例(最强的);这就像在说:“我的意思是正是这里这个元素”。在规则之后使用
!important
:将此作为最后一种覆盖方法,因为!important
覆盖除用户定义的!important
标记样式表。
当然,由于您使用 jQuery 标记了您的问题,因此通常也可以使用 jQuery 和 javascript 来完成。但在这种情况下,我不明白你为什么要这样做。
例子
在您的情况下,更好的级联 示例只是:在您的 telerik 样式表定义它们之后定义 #tabContainer ul
。就那么简单。你什么时候导入那个样式表?将它移到您自己的样式表之上,您将确信您所写的一切都会覆盖那里所写的内容。
特异性 的一个示例是定义类似#container #tabContainer ul
的内容。这将覆盖不太具体的 #tabContainer ul
规则。
内联样式 意味着您实际上将样式硬编码到您的元素中,如下所示:
<ul class=rtUL rtLines" style="height: 40px;">
使用 !important
适用于您想要暴力破解的单个规则,如下所示:
#tabContainer ul {
height: 40px !important;
}
关于jquery - 如何从CSS中排除特定控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15268571/