Pergunta

Quando devo usar temas ASP.NET, e quando devo usar CSS? Quais são as vantagens ou desvantagens de usar um sobre o outro?

Foi útil?

Solução

Eu recomendaria utilizando CSS ao longo temas. A razão para isso está em CSS você pode modificar seus estilos para eles trabalham com todos os navegadores. Você pode fazer a mesma coisa com temas mas desenhador da Microsoft é notória para a fixação das coisas que você fixa para torná-los trabalhar em todos os navegadores assim que seu contra-produtivo. Vara a CSS você vai gastar menos tempo mucking.

Outras dicas

Melhor juntos!

Mas Temas não são uma substituição de CSS, ou eles não são construídos com a finalidade equvalent à CSS. Seu objetivo é definir diferentes temas sobre a sua aplicação e para mudá-los com uma única linha. Os temas podem incluir arquivos CSS, arquivos de imagem e peles.

Com peles, você pode definir estilos para controles asp.net, assim que inclui solução complexa e completa. Por exemplo, você pode definir um gridview e definir o seu estilo e atributos. Você pode defini-lo em toda a aplicação.

Assim você eu acho que eles são melhores juntos, mas não equivalente a comparar.

Se você está considerando a possibilidade de contratar uma agência de design externo ou designer você é muito melhor com CSS, já que CSS é bem conhecido para eles - desde temas são muito mais desenvolvedor / VS centric.

Temas ser realmente útil se você estiver usando Membership, perfis e personalização. Outras que sim, o Visual Designer Studio é notório. Você deve usar CSS extensivamente se você tiver compatibilidade do navegador em mente.

Como mencionado, eles não são mutuamente exclusivas. Eu tive a oportunidade de ter vários temas que em si mesmos contêm seu próprio conjunto de arquivos CSS / media / pele que são apropriadas com base na configuração do site.

Você deve combiná-los. Use seus arquivos CSS na pasta tema para o seu estilo normal de todos os elementos html em seu site (incluir todos os elementos gerados).

No arquivo pele de um controle, você pode definir a classe css padrão. Outras propriedades, como o comportamento de layout e padrão dos elementos (exemplo: controlo de calendário) são editáveis ??também aqui

.

Os arquivos de pele são bons para toda a configuração específica layout que você não pode facilmente fazer com css, mas com as propriedades .net dos controles.

Bem, eu recomendo usar os dois juntos, eu usar o tema para definir as classes css sobre os controles e, em seguida, estilo-los nos arquivos CSS. Exemplo:

Pele:

<asp:CompareValidator runat="server" Text="*" CssClass="Validator" Display="Dynamic" />
<asp:RangeValidator runat="server" Text="*" CssClass="Validator" Display="Dynamic" />
<asp:CustomValidator runat="server" Text="*" CssClass="Validator" Display="Dynamic" />
<asp:RegularExpressionValidator runat="server" Text="*" CssClass="Validator" Display="Dynamic" />
<asp:RequiredFieldValidator runat="server" Text="*" CssClass="Validator" Display="Dynamic" />
<asp:ValidationSummary runat="server" CssClass="ValidationSummary" />

CSS:

.Validator
{
    color: Red;   
}

.ValidationSummary
{
    font-size: 0.8em;
}

.ValidationSummary > ul
{
    list-style-type: disc;
    padding: 0 0 0 15px; 
    margin: 0;
}

.ValidationSummary > ul > li
{
    padding: 0;
    margin: 0;
    color: Red;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top