ASP.NET中,CheckBoxList裡的選擇都是自動寬度的,屬性時沒有設定各項寬度的設定。
參考了一下網上的最小寬度樣式,
複製代碼 代碼如下:/* 最小寬度 */
.min_width{min-width:300px;
/* sets max-width for IE */
_width:expression(document.body.clientWidth < 300 ? "300px" : "auto");
}
寫成如下: 複製代碼 代碼如下:<style>
.ckblstEffect td
{
min-width:80px;
_width:expression(document.body.clientWidth < 80 ? "80px" : "auto");
}
</style>
複製代碼 代碼如下:<asp:CheckBoxList ID="ckblstEffect" runat="server" DataTextField="MC"
RepeatDirection="Horizontal" RepeatColumns="10" CssClass="ckblstEffect"
DataValueField="ID" ondatabound="ckblstEffect_DataBound">
</asp:CheckBoxList>
在遨遊4相容模式(IE7)下不起作用,仔細看樣式中的運算式,怎麼看都覺得不對勁。
改成下面的樣式就可以了。 複製代碼 代碼如下:<style>
.ckblstEffect td
{
min-width:80px;
width:expression(this.offsetWidth < 80 ? "80px" : "auto");
}
</style>
在IE10、遨遊4極速模式及相容模式下均可正確顯示最小寬度,此樣式除了用於CheckBoxList外,也可用於DIV等。
如果有發現其它瀏覽器不能顯示CheckBoxList選項最小寬度的,請通知我。