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選項最小寬度的,請通知我。