28221 sujets

CSS et mise en forme, CSS3

Salut tlm
Je voulais savoir si il etaot possible d'inclure une variable dans une CSS, sinon quels sont les moyens pour modifier une couleur se trouvant dans un fichier CSS ?

Merci d'avance
Modifié le 28 Nov 2004 - 20:37
Je crois pas que mettre une variable ds un css soit possible

Pour modifier une couleur, tu peux éditer le fichier

Sinon si la modif est définie à l'avance, il suffit de rajouter une nouvelle classe et de modifier le style dynamiquement dans le HTML
c'est possible facilement avec une techno serveur comme l'asp / php

ptit exemple en asp :
<%
  if MenuClicked then 
    sMenu1Style = "boutonSelected"
  else
    sMenu1Style = "boutonNotSelected"
  end if
%>
<div class="<%=sMenu1Style%>">Menu1</div>


et ds ta feuille de style :
.boutonSelected {
  /* style bouton sélectionné*/
}
.boutonNotSelected {
  /* style bouton non sélectionné*/
}


voilou pour le principe
Modifié le 24 Nov 2004 - 11:36
Administrateur
Poire a écrit :

ça serait trop facil le survol Smiley lol

Certes, mais on ne sait jamais Smiley cligne Avant de passer à l'artillerie lourde, j'aime bien me renseigner avant Smiley smile
alien7 a écrit :
Oui je parle bien du clic , c'est à dire en lien.

Beh dans ce cas, ma réponse est valide Smiley smile
Je crois que c'est possible en faisant interpreter les fichiers css par php (si tu utilises php).
Par exemple avec apache, ajoute .css a la ligne suivante, dans httpd.conf :
AddType application/x-httpd-php

Mais bon, faut avoir la main sur la config du serveur Smiley smile
Modifié le 24 Nov 2004 - 13:47
Quelle est l'utilité de créer la feuille de style dynamiquement ? ça va apporter pleins de pb (cache du navigateur, temps plus important de chargement du site vu que rechargement de la css à chaque fois,...)

Alors qu'il est bien plus simple de modifier la class dans le HTML généré comme je l'ai dit plus haut ?
Re et salut
J'ai laissé un peu de coté cette patie et j'y revient et j'ai un probleme, je n'ai jamais utilisé asp, alors comment on utilise avec php cette partie ?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>

<title>Menu déroulant horizontal</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />


<style type="text/css">
<!-- 


.color1{
background-color:#00ff00;
}

.color2 {
background-color:#ff0000;
}

.color3 {
background-color:#000000;
}
-->
</style></head>

<body>

	<?php
	if (!isset($_GET['page'])) 
		$color="color1"; 
	else 
		$page= $_GET['page']; 
 		switch($page)
			{
				case 'accueil': $color="color2";break;
				case 'newsletters': $color="color3";break;
			} 
	?> 

				<ul>
					<li class="<? $color ?>"><a href="hd1.php?page=accueil">Sous-Menu 1.1</a></li>
					<li><a href="#">Sous-Menu 1.2</a></li>
					<li><a href="#">Sous-Menu 1.3</a></li>
					<li><a href="#">Sous-Menu 1.4</a></li>
					<li><a href="#">Sous-Menu 1.5</a></li>
					<li><a href="#">Sous-Menu 1.6</a></li>
				</ul>



</body></html>


Bon je vais me coucher lol
Merci encore Smiley biggrin
AHHHHHHHHHHH !!!!!! ce p...... de echo je l'ai completement oublié !!!!!!!!

En tout cas merci beaucoup ca marche impec, je vais pouvoir avancé un peu.

THX a lot Smiley biggrin
Il faudrait mettre
style="color: <?php echo $color ?>"
pour que ça marche.

Sinon c'est comme si tu mettais :

balise {
blue 
}


Ce qui ne veut pas dire grand chose Smiley cligne
Ben une variable contient quelque chose... Ici, ta variable contient le nom d'une classe (je crois)
if (!isset($_GET['page']))
{
	$color="color1";
}
else
{
	$page = $_GET['page'];
	switch($page)
	{
		case "accueil": $color = "color2"; break;
		case "newletters" : $color = "color3"; break;
	}
}


Donc si tu affiche la variable dans style, ça donne ça :
<ul style="color2">

(Si on considère que $color == "color2"). L'attribut style n'est pas une classe...

[Edit] Mon premier grillage sur ce forum Smiley rolleyes [/Edit]
Modifié le 28 Nov 2004 - 19:29
Donc c'est pas psosible avec style, j'ai pas compris le raisonnement.
On peut pas mettre d evariable pour style.
Tu peux le faire de 2 façon différentes:

1- Tu crée dans un css un classe pour ta couleur comme:
.couleur1{color:blue}
2- Tu donne la couleur directement dans ton code avec style.

Dans ton php tu vérifies ta condition et
Pour l'option 1, ta variable doit contenir "couleur1" et ton tag class="<?=$couleur?>"
Pour l'option 2, ta variable doit contenir "blue" et ton tag style="color: <?=$couleur?>"


J'espère que ça t'aide. C'est mon premier message ici donc bonjour à tous! Smiley biggrin