2010-08-07 2 views
0

Disons que j'ai une page ASPX avec un contrôle Web Menu. Le contrôle web du menu s'affiche sous la forme d'une table html dans le navigateur. Mon plan est d'ajouter des styles CSS sur la page aspx qui sera envoyée au navigateur. Disons que j'ajouter le style suivant à la page ASPXComment CSS fonctionne avec les contrôles Web ASP.NET?

td 
{ 
    background-color: Red; 
} 

Ce style est envoyé au navigateur en même temps que le tableau html rendu

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

Mais le style n'est pas appliquée. Je suis vraiment perplexe pourquoi c'est le cas. En général, comment pouvons-nous prédire l'effet de CSS sur les contrôles wen ASP.NET?

Répondre

3

Le menu remplace certains styles.

La plupart des contrôles ASP.NET exposent une propriété CssClass, que vous devez utiliser pour affecter des styles au contrôle.

+0

Salut Merci pour la réponse. Ma compréhension est css est destiné à travailler avec des balises html, pas vraiment avec les contrôles Web ASP.NET. Dans le style CssClass, sommes-nous seulement supposés définir les styles qui sont déjà exposés par les contrôles web en tant que propriétés? Les styles supplémentaires ne sont pas supportés? – Aperture

+0

@ user370401: Oh, les styles sont supportés. Peut-être que cette ressource vous aidera: http://msdn.microsoft.com/en-us/library/ms366731.aspx – kbrimington

1

Peut-être que vous pouvez utiliser dans div et vous pouvez donner un style de div comme:

style:

#div td{ .... } 

html:

<div id="myDiv"> 
<table> 
    <tr> 
    <td></td> 
    </tr> 
</table> 
</div> 
2

Ce n'est pas un problème ASP.NET . Oui, vous avez raison: CSS ne s'applique pas aux contrôles côté serveur tels qu'ils apparaissent dans votre balisage ASPX/ASCX. Ils s'appliquent au code HTML généré. La plupart des contrôles ASP.NET ont une propriété CssClass où CssClass = = "n" qui ajoutera class = "n" à certaines balises html qu'ils génèrent. Donc, vous pouvez écrire des règles CSS pour les cibler avec .n {...}

Mais de toute façon, dans ce cas, quelque chose d'autre se passe que vous n'avez pas inclus dans la question. Je recommande d'attraper Firebug, cible le <TD> que vous attendez d'être stylé, et voir quels styles CSS sont appliqués. Déboguer à partir de là.

Peut-être qu'une autre règle CSS est prioritaire. Peut-être que vos règles CSS ont été mal typées, ou pas réellement incluses. Firebug est un bon outil pour repérer ces erreurs.

Pour démontrer que quelque chose se passe, je l'ai vérifié votre échantillon HTML + CSS fonctionne:

<html> 

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

<body> 

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

</body> 
</html> 
Questions connexes