jquery - 如何从CSS中排除特定控件?

标签 jquery asp.net css telerik css-selectors

我有一个 telerik treeview在 HTML 中呈现为 ul

当我在我的 aspx 中尝试使用特定的 css 时,它没有以正确的方式出现,因为 CSS 文件有 ulli选择器。

来自 Firebug :

enter image description here enter image description here


现在我想从 (#tabContaier ul ,#tabContaier Li) 中排除此控件

我想要一些通用的解决方案来解决这个问题,尤其是 telerik 控件。


编辑:

应用级联技术后:

<telerik:RadTreeView ID="RadTreeView1" runat="server" CheckBoxes="True" Height="200px"
                                                                TriStateCheckBoxes="true"  CheckChildNodes="true" Skin="rad_rv"  EnableEmbeddedSkins="false" >

enter image description here

最佳答案

如果您无法更改指定这些规则的 .css 文件,则有多种方法可以覆盖 CSS 中的规则。

  1. Cascade:顾名思义,在 CSS 中,后写的规则会覆盖前写的规则,无论它们是否在同一个工作表中。

  2. 特异性:比您想用选择器覆盖的规则更具体。 More about specificity .

  3. 内联样式:使用属性 style 在 HTML 元素中编写您的样式。强烈不建议这样做,因为您应该将表示和内容分开(这就是 CSS 的重点);然而,这是在 javascript 中覆盖它们时通常的处理方式(见下文)。 内联样式实际上只是特异性的一个特例(最强的);这就像在说:“我的意思是正是这里这个元素”

  4. 在规则之后使用 !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/

相关文章:

asp.net - 在 ASP.NET 应用程序中完全避免临时 SQL 是一个好习惯吗?

javascript - 输入框中的标记不应为零

javascript - jQuery - 在表中使用 (this) 进行滑动切换

jQuery:如果这个或那个>each()

javascript - 当用户在文本框中键入指定字符时显示建议

c# - Visual Studio 2013 "break on handled exceptions"不工作,不中断

c# - asp.net: c#/javascript 用户提交前需要确认

javascript - 在 kendo ui 中加载页面时隐藏详细信息表(k-detail-cell)

python - 如何在使用response.css提取时删除/n和逗号

javascript - Bootstrap 的面板和矢量图,隐藏所有不在面板内的东西