如何阻止RadioButtonList标签文本在按钮下包装

时间:2009-05-08 08:57:49

标签: asp.net layout webforms

我有一个单选按钮列表,有些标签很长,所以它们换行,第二行出现在单选按钮下面。理想情况下,我希望文本用第一行的第一个字符下面的第二行包装。

有关如何的任何想法?或者我是否必须为此制作自己的基于列表的控件?

5 个答案:

答案 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"时,它才有效。花了我一分钟来抓住它。