28172 sujets

CSS et mise en forme, CSS3

Salut à tous,

J'ai attribué une image de fond à une div (inoui non Smiley biggrin ). Cette image est récupérée par une requête dans ma bdd car il y a en fait une image différente en fonction du visiteur.

Or, sauf erreur de ma part, les langages php et css sont incompatibles...

Du coup, j'ai intégré un bout de ma feuille de style dans ma page html ce qui donne :

<style type="text/css">#accueil2{background-image: url('img/<?php echo $image; ?>');}</style>


Y aurait-il un autre moyen ?

(C'est pas dramatique mais j'aurais aimé éviter de mettre du style dans ma page html....)

Merci d'avance.
Byebye
Zed Smiley cligne
Modifié par Zed1 (13 Aug 2011 - 18:48)
Tu peux aussi appliquer le style directement en utilisant l'attribut style sur ton div :


<div id="accueil2" style="background-image: url('img/<?php echo $image; ?>');">


J'aurais plutôt utilisé cette solution pour des raisons de clarté. Mais c'est quand même kif-kif.

Dans les 2 cas c'est la meilleure façon de faire. L'autre méthode serait de créer une feuille de style dynamique en PHP mais ça pose d'autres problèmes donc il vaut mieux éviter (problème de mise en cache de la feuille de styles, entres autres).
Modifié par jb_gfx (13 Aug 2011 - 19:09)
Salutation »

Si c'est pas essentielle que l'image soit en background : peut-être charger l'image avec <img />


<div id='accueil2'>
 <img src='<?php echo $image; ?>' />
</div>


..
un proverbe africain dit :"celui qui dit qu'il sait ne sait rien. Celui qui dit qu'il ne sait pas, saura"... j'ai bien fait d'écrire : sauf erreur de ma part... Smiley confus
Très très instructif cet échange, merci jmlapam Smiley cligne
quand je pense que la discussion date de fin 2006, j'ai quelques wagons de retard...

Merci aussi aux autres contributeurs car si il faut rajouter 10 lignes de code pour atteindre la base de données dans la css(.php), Dieu W3C me le pardonnera peut-être pas mais je laissera cette ligne de style dans ma page html...
Salut,

Je serais tenté de dire que, vu que l'image change pour chaque visiteur, cette information doit être dans la page HTML.
La feuille de style n'est là que pour "illustrer" ton contenu.

Donc, je serais tenté de mettre un :
<img src="...." alt="..." />


Autre possibilité, si cette information ne fait que "typer" différents visiteurs, à ce moment là, j'ajoute une classe à ton code HTML et tu illustres cette classe dans ton CSS.

A+ / F.