2013-06-12 3 views
1

Почему это Block 1 не отображает ожидаемый стиль и Block 2 делает?ASP.NET не подчиняется CSS?

CSS

.test 
{ 
    height:3.85in; 
    width: 2.625in; 
    border: 10px solid blue; 
    padding-right:.25in; 
    padding-left:.25in; 
    padding-top:.25in; 
    text-align:center; 
    overflow:hidden; 

} 
.test label 
{ 
    font-size:xx-large; 
    color:Red; 
} 

Блок 1

<div class="test" runat="server"><asp:Label runat="server">Test</asp:Label></div> 

Блок 2

<div class="test" runat="server"><label runat="server">text</label></div> 

Выход для HTML для двух дивы одинакова.

+2

Покажите нам выход HTML вместо того, чтобы говорить нам, что они то же самое. Будем судить об этом! –

+0

@EliGassert будет редактировать что в – wootscootinboogie

+0

Ditto, что -. Обычно является '' тег делает для '' , который означает, что ваш CSS для '.test label' не будет работать на' ' fnostro

ответ

3

ASP.NET Ярлыки сервера обрабатывают рендеринг как SPAN в Internet Explorer, а не как элементы ярлыка HTML. Это приводит к тому, что ваш селектор CSS не будет соответствовать блоку 1, но он соответствует блоку 2.

Моя рекомендация - добавить имя класса CSS в элемент управления сервера Label ASP.NET, чтобы он соответствовал стилю CSS вы хотите применить к элементу span/label.

+0

«В Internet Explorer»: вы имеете в виду, что вывод отличается от других браузеров? – Johnny5

+0

Да, Internet Explorer отображает некоторые теги по-разному, чем Firefox, Chrome, Safari и т. Д. –

+1

Нет, будет отображать тег span независимо от того, в каком браузере вы находитесь, проверьте самостоятельно с помощью инспектора кода Firebug или chromes ... – Jonathan

3

Попробуйте следующее:

<asp:Label CssClass="test" runat="server">Test</asp:Label> 

.test 
{ 
    height:3.85in; 
    width: 2.625in; 
    border: 10px solid blue; 
    padding-right:.25in; 
    padding-left:.25in; 
    padding-top:.25in; 
    text-align:center; 
    overflow:hidden; 
    font-size:xx-large; 
    color:Red; 
} 
+0

Ну, он также должен будет изменить определения CSS, чтобы применить стили, специфичные для метки. Как вы написали это, он применил бы те же стили, что и DIV. –

+0

Хороший вопрос, обновляющий ответ :-) – IrishChieftain

+0

Только что проверил, и он работает в IE9 – IrishChieftain

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