Как я могу создать веб-сайт ASP.NET с задержкой стиля/темы?

StackOverflow https://stackoverflow.com/questions/135412

Вопрос

Мне нужно создать прототип интранет-сайта, и я хочу сосредоточиться на удобстве использования (макете, навигации и т. д.) и оставить тему на потом (у меня очень плохой вкус, поэтому, вероятно, это сделает кто-то другой).

Я знаю о возможности ASP.NET мгновенно переключать темы, но как мне спроектировать веб-формы, чтобы это было легко в дальнейшем?

  • Должен ли я создавать элементы управления с атрибутом класса, указывающим на что-то, что будет существовать в будущем CSS?
  • Или я просто создаю элементы управления, не беспокоясь об этом, и с этим можно будет легко справиться, когда мы создадим тему?
Это было полезно?

Решение

Если вы планируете использовать Темы ASP.NET, то вы сможете спроектировать все элементы управления в общем и добавить скины позже.В зависимости от сложности дизайна (то есть, сколько разных стилей у вас есть для текстовых полей или представлений сетки и т. д.), это может не сэкономить вам много работы, но это один из способов использовать встроенную поддержку .Net для тем.

Убедитесь, что вы используете MasterPage, чтобы все ваши подстраницы имели общую базу, и дайте всем вашим элементам хорошие идентификаторы, потому что вам все равно придется испачкать руки CSS, чтобы собрать все это вместе.

Вот ссылка на приличный Учебное пособие по темам и скинам.Знание того, что вам придется сделать в будущем, чтобы добавить это, облегчит проектирование для этого сейчас.

Другие советы

Я хотел бы привести аргументы в пользу полного игнорирования тем и использования только CSS.Мне никогда не было ясно, какую ценность добавляют темы;это очень специфичный для Microsoft подход, и его результаты не всегда соответствуют стандартам.Используя CSS, вы расширите круг потенциальных дизайнеров, способных работать над вашим проектом, и у вас будет больше шансов создать кроссбраузерный и соответствующий стандартам сайт.

Если позже кто-то другой будет стилизовать это, я бы просто позаботился о том, чтобы вы предоставили достаточно «крючков», чтобы они могли это спроектировать.Это означает добавление классов CSS практически ко всему, что вы делаете, что будет иметь одинаковый стиль, и перенос элементов в элементы div или интервалы с помощью классов CSS, например, где это необходимо.

     <div class="ButtonContainer">
       <asp:linkbutton runat="Server" cssclass="Button Cancel" command="Save" text="Save" />
       <asp:linkbutton runat="Server" cssclass="Button Save" command="Cancel" text="Cancel" />
     </div>

Однако если у вас нет четкого понимания CSS и у вас нет внутренних соглашений об именах или стандартных таблиц стилей, вы действительно не будете знать, как структурировать свои элементы div и классы.В нашем магазине мы справляемся с этим следующим образом: программист просто пишет стандартную разметку ASP.NET, а дизайнер добавляет элементы div, span и имена классов, которые работают с таблицей стилей, которую он разработает.

Скины, вероятно, являются ответом, но что-то в этом меня раздражает (возможно, потому, что мне не нравится быть специфичным для этого поставщика и я бы хотел, чтобы мои навыки были применимы к другим веб-языкам и платформам, кроме .NET).Я предпочитаю использовать атрибуты CssClass во всех элементах управления ASP.Net, тщательно классифицировать все остальное и использовать как можно больше семантической разметки.Затем, когда элементы управления настроены и работают, я использую CSS для стилизации всего (хотя обычно на этом этапе мне приходится настраивать HTML и JavaScript).

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

просто оберните элементы управления в div.в конце концов макет/стиль станет намного проще

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top