variable php dans feuille de style CSS....

Petit nouveau ! | 6 Messages

19 avr. 2005, 13:51

Bonjour à tous,

je cherche à mettre une variable nomée $col dans une feuille de style CSS, j'ai donc écrit :
border-left-color:"<? echo $col; ?>";
mais il y a une erreur de syntaxe... je ne sais pas comment bien inserer cette variable.

Merci à tous de votre aide et j'espère pouvoir vous être utile un de ces quatres ;-)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

19 avr. 2005, 14:02

Si ton style est dans un fichier .css, le script php ne sera jamais interprêté.
Sinon, retire les guillemets et teste la valeur de $col...
border-left-color:<?php echo $col; ?>; 

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

19 avr. 2005, 14:03

Au fait, est-ce que border-left-color est une propriété valide ?
(je demande, parce que je ne l'ai jamais vue ailleurs...)

Eléphant du PHP | 139 Messages

19 avr. 2005, 14:10

oui, c'est valide :
border-left-color
Permet de définir la couleur de la bordure gauche d'un élément.
La couleur ne peut être appliquée que si le type de bordure (border-style) ou l'épaisseur de bordure (border-width) a été défini, sans quoi la bordure est inexistante. Certains navigateurs n'interprèteront dailleurs pas les bordures si ces deux propriétés ne sont pas renseignées.

Les couleurs des autres bordures peuvent être définies avec "border-bottom-color", "border-right-color" et "border-top-color" ou à l'aide de "border-color" pour définir toutes les couleurs directement.

Petit nouveau ! | 6 Messages

19 avr. 2005, 14:11

j'ai bien mis le style dans ma page html entre les deux balises <style>, ça me donne en tout :
<style>
.centre {
border-top-width: thin;
border-left-width: thin;
border-top-style: solid;
border-left-style: solid;
border-top-color: #000000;
border-left-color:"<? echo $col; ?>";
}
</style>

J'ai eu beau essayer sans les guillemets, mais à ce moment là le ";" du php est interprété comme une fin de propriété...
propriété qui est tout a fait valide d'alleurs
Ma variable $col fonctionne parfaitement ailleur dans la page, par exemple quand je la met en bgcolor=...

Avatar du membre
ViPHP
ViPHP | 3008 Messages

19 avr. 2005, 14:11

Je confirme, c'est valide ;)

Si tu regardes le code source, au niveau de ta variable tu vois quoi ?

Petit nouveau ! | 6 Messages

19 avr. 2005, 14:43

dans le code source de ma page je vois : border-left-color:"<? echo $col; ?>"; et j'ai bien mon filet gauche, mais avec la couleur par défaut....

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

19 avr. 2005, 14:50

RE

Quelle est la valeur de $col ?

Petit nouveau ! | 6 Messages

19 avr. 2005, 14:58

la valeur de $col est sous la forme "#xxxxxx"

ViPHP
pjl
ViPHP | 2119 Messages

19 avr. 2005, 15:01

dans le code source de ma page je vois : border-left-color:"<? echo $col; ?>"; et j'ai bien mon filet gauche, mais avec la couleur par défaut....
et c'est quoi l'extension de ton fichier ?

Petit nouveau ! | 6 Messages

19 avr. 2005, 15:03

c'est un html qui est inclu dans un php, mais les autres variable sous la même forme dans le html passent parfaitement.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

19 avr. 2005, 15:15

c'est un html qui est inclu dans un php, mais les autres variable sous la même forme dans le html passent parfaitement.
mmmhhhh je ne saisis pas trop bien...un html inclu dans un php ?

En fait ta page a bien l'extension .php ? Parce que là si tu vois affiché <? echo $xxx; ?> c'est que le serveur ne reconnait pas le php... :?

Petit nouveau ! | 6 Messages

19 avr. 2005, 15:31

OK, je sors...
en fait, en enlevant le "", et même si le ; était interprété dans la page html, il ne l'est plus lorsque celle ci est incluse dans une php. Don il fallait écrire :
.centre {
border-left-width: thin;
border-left-style: solid;
border-left-color:<? echo $col; ?>;
}

En tous cas merci à vous tous, et désolé pour mon cerveau malade...

afbilou
Invité n'ayant pas de compte PHPfrance

26 avr. 2005, 01:10

Ce n'est pas vraiment la bonne methode pour faire cela :

Code : Tout sélectionner

.classe_generique { border-top-width: thin; border-left-width: thin; border-top-style: solid; border-left-style: solid; border-top-color: #000000; } .cas1 { border-left-color: red; } .cas2 { border-left-color: blue; }
et dans ton fichier php :

Code : Tout sélectionner

echo "<div class=\"class_generique cas".$i."\">";
$i valant un ou deux suivant les cas.

pinchproduction
Invité n'ayant pas de compte PHPfrance

22 mai 2005, 23:41

pourquoi ne pas tester sans les ;

c'est du bidouillage mais bon, ça marche.