我有一个telerik treeview,它在HTML中呈现为ul
。
当我在我的aspx中使用特定css
进行尝试时,它的显示方式不正确,因为CSS文件包含ul
和li
个选择器。
来自萤火虫:
现在我想从(#tabContaier ul ,#tabContaier Li)
我想要一些针对此问题的一般解决方案,尤其是使用telerik
控件。
编辑:
应用级联技术后:
<telerik:RadTreeView ID="RadTreeView1" runat="server" CheckBoxes="True" Height="200px"
TriStateCheckBoxes="true" CheckChildNodes="true" Skin="rad_rv" EnableEmbeddedSkins="false" >
答案 0 :(得分:3)
如果您无法更改指定了这些规则的.css
文件,有几种方法可以覆盖CSS中的规则。
级联:顾名思义,在稍后编写的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;
}