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选项最小宽度的,请通知我。