Есть ли надежный способ выравнивания надписей сверху по элементам управления? - PullRequest
0 голосов
/ 30 марта 2012

Я ищу прямое решение css, которое заставит метки выравниваться сверху с их элементами управления в asp. Так, например:

<asp:Label runat="server" AssociatedControlID="cboBox" Text="Control Label" />
<asp:DropDownList runat="server" ID="cboBox" />

Может показаться что-то вроде:

Control Label
[[[[[]]]]]]]]]]]]V

Есть идеи?

Ответы [ 2 ]

1 голос
/ 30 марта 2012

Вы можете попробовать поместить их в контейнер и применить специальные стили для промежутков внутри этого контейнера. Приведенный ниже пример может потребовать небольшой доработки, но он должен указать вам правильное направление:

div.container span {
    display: table-cell;
    vertical-align: top;
}
div.container input {
    display: table-cell;
    vertical-align:middle;
}

А потом на странице:

<div class="container">
    <asp:Label runat="server" AssociatedControlID="cboBox" Text="Control Label" />
    <asp:DropDownList runat="server" ID="cboBox" />    
</div>
1 голос
/ 30 марта 2012

Оберните их обоих в span или div:

<span class="field">
    <asp:Label runat="server" AssociatedControlID="cboBox" Text="Control Label" />
    <asp:DropDownList runat="server" ID="cboBox" />
</span>

Затем:

.field label,
.field select
{
    display: inline-block;
    vertical-align: top;

    /* achieves same as inline-block for IE7 */
    *display: inline;
    *zoom: 1;
}
...