次の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 ファイルは、マスター ページに含まれる最後の CSS ファイルです。
質問: Web 開発を始めてからしばらく経っていたかもしれませんが、コントロールの CSS クラスを最優先すべきではなく、他のすべてをオーバーライドする必要があると判断した場合、正しいですか? もしそうなら、なぜ私のコンボボックスのスタイル ( Height、Width、margin、および padding ) がオーバーライドされているのですか?? Firebug に示されている値の高さと幅を設定するスタイル クラスは他にありません。
Loki's answer after update私はこれを追加するべきだと思っ!important
た.