Выравнивание и добавление для asp: CheckBoxList

У меня есть checkboxlist asp.net следующим образом:

    <asp:CheckBoxList ID="CheckBoxList_Genres" runat="server" RepeatColumns="3">
        <asp:ListItem Selected="True">Action</asp:ListItem>
        <asp:ListItem Selected="True">Comedy</asp:ListItem>
        <asp:ListItem Selected="True">Classics</asp:ListItem>
        <asp:ListItem Selected="True">Documentary</asp:ListItem>

[...]

У меня две проблемы: текст не выравнивается с каждым флажком, а в некоторых браузерах (особенно в Safari) между флажком и текстом нет пробела (текст распространяется на этот флажок). Я знаю ответ, размещенный здесь: Как выравнивать флажки и их метки последовательно перекрестно-обозревателями

Однако я не могу понять, как реализовать эти стили в контексте asp: checkboxlist; Я знаю, что стиль css можно установить для checkboxlist, но не думаю, что это позволяет мне устанавливать отдельные стили для "метки" и "флажок". Помощь будет оценена.

Ответ 1

Вы должны иметь возможность применять те же методы к свойству CssClass элемента управления CheckBoxList, что и обычный флажок.

Вот некоторый код CSS, который я использовал для отступов длинного текста рядом с списком флажков ASP.net:

.chkChoice input 
{ 
    margin-left: -20px; 
}
.chkChoice td 
{ 
    padding-left: 20px; 
}

ASP.net:

<asp:CheckBoxList id="ChkWork" runat="server" TabIndex="2" CssClass="chkChoice">

Ответ 2

В свойствах списка флажков переключите repeatlayout из потока в таблицу. Это приведет к выравниванию столбцов.

Ответ 3

некоторые элементы checkboxlist, есть метка, для пробела между текстом и элементом, например, флажок, вы должны указать тип элемента в Css.

Exlampel:

.myCheckBoxList label 
{  
    padding-right: 5px; 
}

и введите che checkboxlist класс следующим образом:

 CssClass="myCheckBoxList"