Как CSS работает с веб-элементами управления ASP.NET? - PullRequest
0 голосов
/ 07 августа 2010

Допустим, у меня есть страница aspx с веб-элементом управления Menu. Веб-элемент управления меню отображается в виде HTML-таблицы в браузере. Я планирую добавить стили CSS на страницу aspx, которая будет отправлена ​​в браузер. Допустим, я добавил следующий стиль на страницу aspx

td
{
    background-color: Red;
}

Этот стиль отправляется в браузер вместе с отображаемой HTML-таблицей

<table>
   <tr>
       <td>...</td>
       <td>...</td>
   </tr>
   <tr>
       <td>...</td>
       <td>...</td>
   </tr>
</table>

Но стиль не применяется. Я действительно озадачен, почему это так. В целом, как мы прогнозируем влияние CSS на элементы управления ASP.NET wen?

Ответы [ 3 ]

3 голосов
/ 07 августа 2010

Меню переопределяет некоторые стили.

Большинство элементов управления ASP.NET предоставляют свойство CssClass, которое следует использовать для назначения стилей элементу управления.

2 голосов
/ 07 августа 2010

Это не проблема ASP.NET. Да, вы правы, что CSS не применяется к элементам управления на стороне сервера, так как они отображаются в разметке ASPX / ASCX. Они применяются к сгенерированному HTML. Большинство элементов управления ASP.NET имеют свойство CssClass, где устанавливается CssClass = "n", что добавит class = "n" к некоторым HTML-тегам, которые они генерируют. Таким образом, вы можете написать правила css для их назначения с помощью .n {...}

Но в любом случае, в этом случае происходит что-то еще, что вы не включили в вопрос. Я рекомендую взять Firebug, нацелиться на

, который вы ожидаете стилизовать, и посмотреть, какие стили CSS применяются. Отладка оттуда.

Может быть, какое-то другое правило CSS имеет приоритет. Возможно, ваши CSS-правила были опечатаны или не включены. Firebug - хороший инструмент для отслеживания подобных ошибок.

Чтобы продемонстрировать, что происходит что-то еще, я проверил ваш пример работы HTML + CSS:

<html>

<style>
    td { background-color: blue }
</style>

<body>

<table>
   <tr>
       <td>...</td>
       <td>...</td>
   </tr>
   <tr>
       <td>...</td>
       <td>...</td>
   </tr>
</table>

</body>
</html>
1 голос
/ 07 августа 2010

Может быть, вы можете использовать в div, и вы можете задать стиль из div, например:

style:

#div td{ .... }

html:

<div id="myDiv">
 <table>
  <tr>
   <td></td>
  </tr>
 </table>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...