2009-11-05 4 views
1

У меня есть панель со следующим:ASP.Net вертикального выравнивания элементов управления в панели

<asp:Panel ID="Panel1" runat="server" Height="101px"> 
    Day 
    <asp:DropDownList ID="DropDownList1" runat="server" Height="24px" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> 
    </asp:DropDownList> 
    &nbsp;Hour 
    <asp:DropDownList ID="DropDownList2" runat="server"> 
    </asp:DropDownList> 
</asp:Panel> 

тексты («День» и «Час»), кажется, имеют различное вертикальное выравнивание по отношению к dropdownboxes

alt text http://img215.imageshack.us/img215/115/paneld.jpg

Как исправить это легко?

+0

На Panel1 установлено вертикальное выравнивание для использования в верхней части текста, с 'стиле = "vertical-align: text-top;" атрибут. – devstuff

+0

Я знаю, что видел это раньше, но теперь я не могу воспроизвести его с помощью фрагмента кода. Кроме того, вы намеренно устанавливаете высоту панели и выпадаете? Если нет, вы можете удалить их. – Greg

ответ

0

Вы пытались настроить вертикальное выравнивание с помощью атрибута стиля? http://www.w3schools.com/Css/pr_pos_vertical-align.asp

+0

Это элементы управления ASP.Net, я не уверен, как вы можете применять стили CSS на них. – Nikhil

+0

@Nikhil: добавьте атрибут 'style =" ... "'. Вы не получите Intellisense для этого, но он будет отображаться правильно. Вместо встроенных стилей, хотя вы бы лучше использовали свойство CssClass и поместили стили в таблицу стилей. – devstuff

+0

Пробовал 'style' out, но даже после того, как вы пытались использовать различные параметры выравнивания, я не мог правильно его выровнять. – Nikhil

1

Это действительно это просто:

<div> 
    Day 
    <asp:DropDownList ID="DropDownList1" runat="server"> 
    </asp:DropDownList> 
    Hour 
    <asp:DropDownList ID="DropDownList2" runat="server"> 
    </asp:DropDownList> 
</div> 
+0

Это тоже не работает. – Nikhil

+0

Вы на самом деле попробовали div, и если да, то какой браузер нам дает вам эту проблему? – IrishChieftain

0

Попробуйте формируя свои метки, как и добавить некоторые пробелы вокруг них. Это может быть упаковка.

2

Одно решение, на которое я наткнулся, заключалось в том, чтобы заключить текст и DropDownLists в таблице с одной строкой и иметь отдельную ячейку для каждого текста/Dropbox. Работает как шарм.

+0

Зачем использовать таблицу, когда SEO-дружественная разметка так же проста и бесплатна? – IrishChieftain

+1

Нет! Пожалуйста, нет! Таблица-макет такой 1991. –

1

Не уверен, что вы пытались это или нет ...

<div style="vertical-align:top"> 
    Day 
    <asp:DropDownList ID="DropDownList1" runat="server" style="vertical-align:bottom"> 
    </asp:DropDownList> 
    Hour 
    <asp:DropDownList ID="DropDownList2" runat="server" style="vertical-align:bottom"> 
    </asp:DropDownList> 
</div> 
0

, что другой ответ были проблемы форматирования. Вот он снова.

Не уверен, что вы пытались это или нет:

<div style="vertical-align:top"> 
    Day 
    <asp:DropDownList ID="DropDownList1" runat="server" style="vertical-align:bottom"> 
    </asp:DropDownList> 
    Hour 
    <asp:DropDownList ID="DropDownList2" runat="server" style="vertical-align:bottom"> 
    </asp:DropDownList> 
</div> 
0

попробовать это, если вы еще " т

<div style="vertical-align:top"> 
Day 
<asp:DropDownList ID="DropDownList1" runat="server" style="vertical-align:bottom"> 
</asp:DropDownList> 
Hour 
<asp:DropDownList ID="DropDownList2" runat="server" style="vertical-align:bottom> 
</asp:DropDownList> 
</div> 
+1

Как-то атрибут стиля div не будет работать в FF и Chrome. Если это так, попробуйте выполнить вертикальное выравнивание по отдельным элементам. – coHobo

Смежные вопросы