我有一个单选按钮列表,有些标签很长,所以它们换行,第二行出现在单选按钮下面。理想情况下,我希望文本用第一行的第一个字符下面的第二行包装。
有关如何的任何想法?或者我是否必须为此制作自己的基于列表的控件?
答案 0 :(得分:40)
这个CSS实际上可以解决问题:
<style type="text/css">
table.radioWithProperWrap input
{
float: left;
}
table.radioWithProperWrap label
{
margin-left: 25px;
display: block;
}
</style>
<asp:RadioButtonList runat="server" CssClass="radioWithProperWrap" ....>
答案 1 :(得分:2)
您可以使用单选按钮和单独的标签,并设置该标签的AssociatedControlID属性。
<table>
<tr>
<td>
<asp:RadioButton runat="server" ID="rdo" />
</td>
<td>
<asp:Label runat="server" ID="lbl" Text="Radio Text" AssociatedControlID="rdo" />
</td>
</tr>
</table>
答案 2 :(得分:2)
我知道游戏有点晚了,但这对我有用:
table.NoWrapRadio td
{
white-space:nowrap;
}
当我使用所选择的回答者的方法时,包装问题已得到修复,但它使得单选按钮的渲染像素低于标签。我正在使用IE9兼容模式。
答案 3 :(得分:0)
尝试使用负文本缩进样式-20px适用于IE8
答案 4 :(得分:0)
如果有人在使选定的答案工作时遇到问题:只有当您的RadioButtonList使用RepeatLayout="Table"
而非RepeatLayout="Flow"
时,它才有效。花了我一分钟来抓住它。