Page 1 sur 1

Modifier le style d'un include

Posté : 10 sept. 2012, 15:22
par Jilo
Salut à toutes et tous,

Je suis un complet débutant en php :oops:
J'utilise un include sur toutes mes pages pour afficher mon menu — chose très classique.
Mon souci est : selon mes pages, mon menu doit avoir une caractéristique css différente, un background-position sur un lien.
Je détaille…
Dans toutes mes pages, j'écris ça :
<?php include("../../../menu_principal.php");  ?>
Mon menu est :
<ul id="menu" >
    <li><a class="accueil" href="accueil.php">&nbsp;</a></li>
    <li><a class="auteur" href="pages/auteur.php">&nbsp;</a>
    	<ul class="sousMenu">
        <li><a href="pages/auteur/livres.php">Livres</a></li>
            <li><a href="pages/auteur/articles.php">Articles</a></li>
            <li><a href="pages/auteur/sciences.php">Sciences</a></li>
        </ul>
    </li>
    <li><a class="bio" href="pages/bio.php">&nbsp;</a></li>
    <li><a class="contact" href="pages/contact.php">&nbsp;</a></li>
  </ul>
Par exemple, quand on se trouve sur la page d'Accueil, je voudrais que le <li><a class="auteur"> affiche un background-position ordinaire (0px 0px). Mais quand on est sur cette page Auteur, je voudrais que le background-position du même <li><a class="auteur"> devienne : 0px -37px.

Ça doit être simple, mais ça fait des heures que je traîne là-dessus — Quelqu'un peut-il m'aider, s'il vous plaît ?

Par avance, merci…

Re: Modifier le style d'un include

Posté : 10 sept. 2012, 16:00
par sirakawa
Bjr,
tu devrais esssayer de créer une feuille de style par page. Voici une idée de ce que je ferais, inspiré de w3schools. J'ai tout mis dans a:one (:link c'est un lien) (:visited c'est un lien visité) (:hover la souris est sur le lien)
Et il faut écrire
<a class= 'quelque chose' href = 'un lien'>BARRATIN</a>
pour que ça fonctionne correctement.
<html>
<head>
<style type="text/css">
a.one:link {
background-color: black;
color:white;
text-decoration:none;
}
a.one:visited {
background-color: black;
color:white;
text-decoration:none;
}
a.one:hover {
background-color: yellow;
color:white;
text-decoration:none;
}

a.one:hover {color:#ffcc00;}

a.two:link {color:#ff0000;}
a.two:visited {color:#0000ff;}
a.two:hover {font-size:150%;}

a.three:link {color:#ff0000;}
a.three:visited {color:#0000ff;}
a.three:hover {background:#66ff66;}

a.four:link {color:#ff0000;}
a.four:visited {color:#0000ff;}
a.four:hover {font-family:monospace;}

a.five:link {color:#ff0000;text-decoration:none;}
a.five:visited {color:#0000ff;text-decoration:none;}
a.five:hover {text-decoration:underline;}
</style>
</head>

<body>
<p>Mouse over the links to see them change layout.</p>

<p><b><a class="one" href="default.asp" target="_blank">Test réalisé</a></b></p>
<p><b><a class="two" href="default.asp" target="_blank">This link changes font-size</a></b></p>
<p><b><a class="three" href="default.asp" target="_blank">This link changes background-color</a></b></p>
<p><b><a class="four" href="default.asp" target="_blank">This link changes font-family</a></b></p>
<p><b><a class="five" href="default.asp" target="_blank">This link changes text-decoration</a></b></p>
</body>

</html>
<style>
*.

Re: Modifier le style d'un include

Posté : 10 sept. 2012, 16:41
par Invité
Merci, mais je ne peux pas faire ça… Car je fais ce site pour un ami, qui n'y connait rien en html et css — Et le jour où il voudra ajouter une page à son site, il faut que cela reste simple pour lui; Il ne saura jamais créer une nouvelle classe CSS pour son nouveau lien :-(
Non, je dois trouver une solution qui fasse cela de manière automatique…

Re: Modifier le style d'un include

Posté : 10 sept. 2012, 17:38
par moogli
Salut,


créer une classe css "active" que tu applique au lien de la page active.


tu a la page active dans $_SERVER


@+

Re: Modifier le style d'un include

Posté : 10 sept. 2012, 17:39
par sirakawa
tu peux très bien créer un certain nombre de feuilles de menus contenant chacune sa feuille de style, et indiquer dans ta documentation à quel aspect elles correspondent.
Et il a juste, et c'est inévitable à créer des pages avec le bon include

Re: Modifier le style d'un include

Posté : 10 sept. 2012, 18:44
par Invité
Salut,
créer une classe css "active" que tu applique au lien de la page active.
tu a la page active dans $_SERVER
@+
Merci de ton aide… Comme je le disais, je ne suis pas très calé en php :oops: Que veux-tu dire par tu a la page active dans $_SERVER ?

Re: Modifier le style d'un include

Posté : 10 sept. 2012, 19:21
par dix2
salut,

en fait $_SERVER est une variable superglobale c'est a dire géré par PHP et qui contient un certain nombre d'information comme par exemple le nom du fichier courant

crée un nouveau fichier et écris ceci :
<?PHP
echo($_SERVER['SCRIPT_NAME']);

tu obtiendras le nom du fichier courant

@+
dix2