Asp.net

如何在 ASP.NET RadioButtonList 中的項目之間添加空格

  • November 30, 2009

我有一個 ASP.NET RadioButtonList,它使用***RepeatDirection=“Horizo​​ntal”顯示四個項目以將它們顯示在一行上。我正在使用RepeatLayout=“Flow”***來避免表格的標記。但是,這會導致列表中的項目彼此相鄰放置,這看起來不太好。

因此,我嘗試使用表格佈局來利用CellSpacing和/或CellPadding屬性。不幸的是,這些屬性會影響表格中的垂直和水平間距/填充,所以當我得到水平間距時,我也得到了不需要的垂直間距。

在這一點上,我明白了這一點:

<asp:RadioButtonList ID="rblMyRadioButtonList" runat="server" 
   RepeatDirection="Horizontal"
   RepeatLayout="Flow" >
   <asp:ListItem Selected="false" Text="Item One    " Value="Item_1" />
   <asp:ListItem Selected="false" Text="Item Two    " Value="Item_2" />
   <asp:ListItem Selected="false" Text="Item Three    " Value="Item_3" />
   <asp:ListItem Selected="false" Text="Item Four    " Value="Item_4" />
</asp:RadioButtonList>

……這對我尖叫“你做得不對!”

實現這一目標的正確方法是什麼?

使用 css 為這些特定元素添加右邊距。通常我會建構控制項,然後執行它以查看生成的 html 結構是什麼樣的,然後讓 css 僅更改這些元素。

最好通過設置類來做到這一點。CssClass="myrblclass"將該屬性添加到您的列表聲明中。

您還可以以程式方式向項目添加屬性,這將在另一側出現。

rblMyRadioButtonList.Items[x].Attributes.CssStyle.Add("margin-right:5px;")

這可能對您更好,因為您可以為除最後一個之外的所有屬性添加該屬性。

我知道這是一個老問題,但我是這樣做的:

<asp:RadioButtonList runat="server" ID="myrbl" RepeatDirection="Horizontal" CssClass="rbl"> 

將此用作您的課程:

.rbl input[type="radio"]
{
  margin-left: 10px;
  margin-right: 1px;
}

引用自:https://stackoverflow.com/questions/1822122