Bonjour.
Déjà, pour ce que tu veux faire il va falloir identifier distinctement chaque élément de ta galerie (avec un
id, donc). Sinon le CSS ne peut pas savoir à quel élément appliquer quelle image... On va dire que tu leur donnes un
id="image1".
Et tu as plusieurs solutions :
1. Générer du CSS dans la page HTML.
<head>
<style type="text/css" media="all">
<?php
for ($i = 1; $i <=$nb; $i++) {
echo "#image$i {background: url(image${i}_noir_blanc.jpg)}";
}
?>
</style>
Ca alourdit la page, tu perds le côté séparation CSS/HTML mais c'est simple à gérer (si tu n'as pas un "header" global).
2. Création du fichier CSS en php :
Dans ta page, tu appelles
galerie.css.php?nb_images=$nb_images.
Exemple de contenu de
galerie.css.php (vite fait et à sécuriser) :
<?php
header('Content-type: text/css');
include ('css_constant.css');
$nb = (int) $_GET['nb'];
for ($i = 1; $i <=$nb; $i++) {
echo "#image$i {background: url(image${i}_noir_blanc.jpg)}";
}
Le problème, c'est que par définition le CSS varie, et il faut à chaque fois le recharger (et gérer la mise en cache). Et il faut toujours gérer la problématique éventuelle du "header" global (ou mettre l'appel au CSS dans le corps du HTML, ce qui n'est pas
W3C-compliant)
Mais tu gardes une structure propre...
3. Utiliser du JS.
Pas pour faire de la gestion d'évènements, c'est vite lourd. Juste pour modifier le CSS.
Là comme ça, je n'ai pas d'exemple à donner, mais une recherche sur
javascript modifier CSS devrait faire l'affaire
L'avantage, c'est que tu n'as plus à te soucier du CSS, l'inconvénient c'est que les utilisateurs sans JS n'ont plus rien

Bonjour.
Déjà, pour ce que tu veux faire il va falloir identifier distinctement chaque élément de ta galerie (avec un [b]id[/b], donc). Sinon le CSS ne peut pas savoir à quel élément appliquer quelle image... On va dire que tu leur donnes un [b]id="image1"[/b].
Et tu as plusieurs solutions :
1. Générer du CSS dans la page HTML.
[php]<head>
<style type="text/css" media="all">
<?php
for ($i = 1; $i <=$nb; $i++) {
echo "#image$i {background: url(image${i}_noir_blanc.jpg)}";
}
?>
</style>
[/php]Ca alourdit la page, tu perds le côté séparation CSS/HTML mais c'est simple à gérer (si tu n'as pas un "header" global).
2. Création du fichier CSS en php :
Dans ta page, tu appelles [b]galerie.css.php?nb_images=$nb_images[/b].
Exemple de contenu de [b]galerie.css.php[/b] (vite fait et à sécuriser) :
[php]<?php
header('Content-type: text/css');
include ('css_constant.css');
$nb = (int) $_GET['nb'];
for ($i = 1; $i <=$nb; $i++) {
echo "#image$i {background: url(image${i}_noir_blanc.jpg)}";
}
[/php]Le problème, c'est que par définition le CSS varie, et il faut à chaque fois le recharger (et gérer la mise en cache). Et il faut toujours gérer la problématique éventuelle du "header" global (ou mettre l'appel au CSS dans le corps du HTML, ce qui n'est pas [i]W3C-compliant[/i])
Mais tu gardes une structure propre...
3. Utiliser du JS.
Pas pour faire de la gestion d'évènements, c'est vite lourd. Juste pour modifier le CSS.
Là comme ça, je n'ai pas d'exemple à donner, mais une recherche sur [b]javascript modifier CSS[/b] devrait faire l'affaire :wink:
L'avantage, c'est que tu n'as plus à te soucier du CSS, l'inconvénient c'est que les utilisateurs sans JS n'ont plus rien :?