28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

Je me demandais s'il existait une pseudo-class pour agir sur 1 class de div sur 2...
Sachant qu'il existe la pseudo-class "last-of-type" je me posais la question si cela existait.

Par exemple, j'ai une succession de div ayant pour class "item" et j'aimerais qu'à chaque tour elle passe du style de base à un second style prédéfini (ex: un coup fond bleu, un coup fond rouge, et ainsi de suite...).

Bien sûr, ces div ne seraient pas inscrites sur la page à l'avance mais son générée par PHP en fonction du nombre d'occurrences trouvées lors d'une requête.

Ou alors plutôt chercher de PHP via mes boucles?
Salut,

J'opterais plutôt du côté de PHP avec une petite fonction :

function switchcolor()
 { 
   static $col;
   $couleur1 = "red"; //couleur 1
   $couleur2 = "black"; //couleur 2

    if ($col == $couleur1)
     {
       $col = $couleur2;
     }
    else
     {
       $col = $couleur1;
     }
    return $col; 
 }
 
$i = 0;
while ($i <= 20)
{
echo'<div style="background : '.switchcolor().';">mon texte</div>';
$i++;
}

Modifié par tryan (01 Apr 2011 - 13:58)
Bonjour ,

Quel navigateur cible tu ?

Il y a le selecteur


.class:nth-child(even) { 
background : #cdc;
}
.class:nth-child(odd) {
background : #dcd;
}


Compatible IE9 FF CHROME SAFARI OPERA , mais pas IE <= 8
tryan a écrit :
Salut,

J'opterais plutôt du côté de PHP avec une petite fonction :

function switchcolor()
 { 
   static $col;
   $couleur1 = &quot;red&quot;; //couleur 1
   $couleur2 = &quot;black&quot;; //couleur 2

    if ($col == $couleur1)
     {
       $col = $couleur2;
     }
    else
     {
       $col = $couleur1;
     }
    return $col; 
 }
 
$i = 0;
while ($i &lt;= 20)
{
echo'&lt;div style=&quot;background : '.switchcolor().';&quot;&gt;mon texte&lt;/div&gt;';
$i++;
}


Pas Cool comme solution.


$i = 0;
// $max_result
while ($i < $max_result) {
if($i % 2) {
    <div class="classperso1">
}
else {
   <div class="classperso2">
}

echo($text + "</div>");
}

Modifié par rs459 (01 Apr 2011 - 21:32)
rs459 a écrit :

Pas Cool comme solution.


Ha bha je fais ce que je peut pour essayer d'aider à mon niveau Smiley lol . Ceci dit, c'est clair que je préfère ta solution.