我有以下 ASP.Net 代码
...
<div style="width: 40%; float: left; margin-left: 15px">
<b>County:</b>
<asp:ComboBox ID="cboCounty" runat="server" MaxLength="0"
AutoCompleteMode="SuggestAppend" CssClass="EPSCombo">
</asp:ComboBox>
<br />
...
问题:这个 div 包含许多组合框,它们没有按预期显示,它们都有EPSCombo
类。当我调试 CSS 时,我发现它被覆盖了,这是 FireBug 的输出
我的EPSCombo
样式如下(覆盖默认的 AjaxToolkit CSS)
.EPSCombo .ajax__combobox_inputcontainer .ajax__combobox_textboxcontainer input
{
margin: 0;
border: solid 1px #7F9DB9;
border-right: 0px none;
padding: 1px 0px 0px 5px;
font-size: 13px;
height: 18px;
}
.EPSCombo .ajax__combobox_inputcontainer .ajax__combobox_buttoncontainer button
{
margin: 0;
padding: 0;
background-image: url(../images/windows-arrow.gif);
background-position: top left;
border: 0px none;
height: 21px;
width: 21px;
}
.EPSCombo .ajax__combobox_itemlist
{
border-color: #7F9DB9;
}
而包含 EPSCombo 的 CSS 文件是母版页中包含的最后一个。
问题:我做 Web 开发可能已经有一段时间了,但是如果我决定控件的 CSS 类不应该具有最高优先级并且应该覆盖其他所有内容,对吗?如果是这样,那么为什么我的组合框样式(高度、宽度、边距和填充)被覆盖?我没有任何其他样式类可以为 Firebug 中显示的值设置高度和宽度。
在 Loki 的回答之后更新我想我应该添加这个,添加!important
到这些属性可以解决问题,但我想找到这个的根本原因,看看哪里出了问题。