28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

Dans une application web je genère un menu de catégories de produits (en recuperant la liste des categories via php/mysql). La couleur a appliquer au survol du lien est egalement recuperée depuis la BDD (le code hexa).

Chaques liens du menu doit avoir une couleur différente au survol (j'ai un code couleur à réspecter).

Le menu a cette tronche :
<ul>                             
<li><a href="cat1">Catégorie 1</a></li>
<li><a href="cat2">Catégorie 2</a></li>
<li><a href="cat3">Catégorie 3</a></li>
</ul>


Il me faut donc appliquer un "style" à chaque lien, dans une feuille CSS ca donnerait
a:hover {
color:#blabla;
}


Mais je ne sais pas comment appliquer un "a:hover{}" directement dans le xhtml. ( <a style="???" ...>...</a> ).

Merci d'avance.
Modifié par Lavazzo (12 Mar 2008 - 16:34)
Pourquoi voudrais-tu insérer ce style directement dans une balise XHTML? Il suffirait d'assigner aux différents éléments une classe et de procéder ensuite simplement comme ceci:
a.maClasse1:hover {color:red}
a.maClasse2:hover {color:yellow}
a.maClasse3:hover {color:fuchsia}
J'y ai bien pensé, mais je ne connais pas les catégories à l'avance.

L'utilisateur final aura accès a un back-office dans lequel il pourra créer de nouvelles catégories (et donc choisir une couleur de son choix pour celle-ci).
Modifié par Lavazzo (12 Mar 2008 - 16:13)
Salut,

tu ne peux pas utiliser la pseudo-classe hover dans l'attribut style de la balise.

Par contre, tu peux l'utiliser dans la balise <style>, dans le <head> de la page ...

Tu devrais pouvoir générer les styles à cet endroit, et ajouter l'identifiant qui va bien pour chacune de tes catégories ...

Par exemple :
<head>
  <style type="text/css">
    <?php foreach ($categories as $cat) ?>
    li#cat_<?php echo $cat['id'] ?> {
      color: <?php echo $cat['color'] ?>;
    }
    <?php endforeach ?>
  </style>
  ...
</head>

edit: ah ben trop tard ... Smiley smile
Modifié par Thomas D. (12 Mar 2008 - 16:35)