28173 sujets

CSS et mise en forme, CSS3

Je viens d'acheter le livre CCS préconisé par la site, j'ai fait une page styles.css et je commence à construire mes pages contenu.
Dans ma page styles.css, j'ai pu intégrer la photo de la bannière et toute la mise en page générale du site. Mais je ne sais pas comment y intégrer mon menu horizontal. Ma seule solution pour le moment est d'intégrer mon menu dans toutes mes pages contenus mais ce n est pas une bonne solution.
Pouvez-vous m'aider? Dois-je faire un lien vers une page html "menu" si oui comment? Smiley confus
Modifié par soso (19 Jan 2007 - 10:47)
oui mais disons que j'ai un menu avec 15 liens vers des pages du site. Cela voudrait dire que lorsque un lien changera, il faudra que je change ce lien sur les 15 pages?
Moi j'ai compris que la page html pouvait être mon index puis toutes les autres pages du site, non?
quelque chose doit m'échapper! j'aimerai que si un lien ou un nom de menu change, j'aimerai avoir à faire la modification qu'à un endroit, c'est le principe du CSS, non?
merci de m'éclairer
Bonjour, soso.

Le principe de base du couple html/css, c'est la séparation du fond & de la forme des pages web.

Dans la page html, tu dois indiquer tout ce qui fait partie du fond, du contenu de ta page. Les liens hypertextes d'un menu en font partie.

La feuille de style permet de modifier l'apparence de la page. Les sélecteurs CSS permettent effectivement de modifier facilement un groupe d'éléments sur toutes les pages du site.

Mais les feuilles de style ne servent pas à modifier le contenu !

En ce qui te concerne, il faut plutôt te tourner vers ce tutoriel, qui explique comment inclure un fichier html dasn un autre à l'aide de php.
ok je comprends mieux le contenu doit bien rester dans les pages html. Seule la mise en forme est contenue dans la page css.

Je suis allée voir le tutoriel "inclure un fichier..." apparemment dans ce cas, les rubriques du menu sont quand meme répétés à chaque page mais le lien html de chaque rubrique est lui contenu dans le php. En effet, en cas de changement de lien, seul le doc php devra être modifié. Mais en cas de rajout de rubrique ou de changement de nom de rubrique toutes les pages devront à nouveau être modifiées...
Ai-je bien compris?

le systeme de frame était du coup bien pratique pour mon problèmen en css j'ai l'impression que je n'ai pas le choix... c bizarre xar j'ai l'impression d'etre la seule dans ce cas pourtant avoir une page unique pour son menu me semble primordial, non?
Merci quand meme pour l'info! et pour d'autres eclaircissements...
En fait, ça dépend comment tu construis ta page. La fonction "include" de php permet en réalité de faire un "copier/coller automatique" dans une page web, à partir d'un fichier.

Si tu places dans ce fichier (par exemple "menu.html") à inclure ton menu de navigation, toutes les modifications que tu effectues sur le fichier "menu.html" vont se répercuter sur l'ensemble des pages où tu inclus ce fichier (avec <?php include('menu.html'); ?>).

Rien ne t'empêche de mettre toutes tes rubriques dans ce fichier, ou d'appeller plusieurs fichier avec la fonction "include" Smiley cligne
merci pour ta solution et le temps consacré c'est tres gentil mais j'ai du mal à comprendre.
J'ai ma page menu.html qui est déja faite (menu horizontal avec 6 rubriques puis en moyenne 4 sous-rubriques à chaque fois) voici un imprim ecran du résultats
upload/10360-photodumen.JPG
quel code dois-je inclure et ou au final?
désolé, j'ai un peu de mal, je commence tout juste le css, j'ai lu le bouquin toute la soirée...et tout marche sauf le menu...
L'inclusion PHP se passe dans les autres pages de ton site. Par exemple dans une structure de page classique:

<div id="header">
   <h1>Titre</h1>
</div>
<div id="menu">
   [b]<?php include('menu.html'); ?>[/b]
</div>
<div id="contenu">
   Lorem ipsum blabla bla.
</div>
</body>
Rem: ton fichier "menu.html" ne doit contenir que le code du menu. Puisqu'il va être "collé" tel quel dans la page, il ne faut pas ajouter les balises <html>, <head>, <body>, ni le doctype de la page!

Rem²: le PHP est un language interprété côté serveur, tu dois installer un serveur local pour pouvoir l'utiliser, et t'assurer que ton hébergement le supporte! Pour un serveur local sous windows: EasyPHP ou Wamp
Merci bcp! Pour récapituler
- Donc j'ai ma page menu.html avec juste le code du menu sans les balises body, ni head... ni mise en page
- Dans toutes les pages du site je rajoute :
<div id="menu">
<?php include('menu.html'); ?>
</div>
- mon hébergement accepte le php puisque j'ai des pages en php sur mon site (faites par un ami) et j'ai Wamp sur mon ordi

Je n'ai donc pas de page .php à réaliser?
Hélas, ça ne marche pas...
J'ai mis la fonction include dans mes pages de contenu et ma page menu.html est sans body, head... dans le meme dossier dossier source.
Mais la fonction include ne va pas chercher la page menu.html, il n'ya pas de menu sur la page.
Quelq'un a une idée?
soso a écrit :

Je n'ai donc pas de page .php à réaliser?


Ton problème vient de là je pense Smiley smile
Si il te faut des pages .php, celle qui comporte du code php. Autrement dis toute tes pages qui include ton menu.html.
Assure toi de bien utiliser ton "serveur local" Wamp, en mettant tes pages dans le dossier www (si je me souviens bien) puis d'utiliser l'url qui va bien (http://127.0.0.1/ sauf erreur de ma part).

Après tout cela est censé fonctionner correctement, si tu nous mettais un peu de code ce serais encore mieux pour t'aider Smiley cligne
Merci beaucoup pour ta réponse, ça y est ça marche!!!!!!!!!
Mon problème d'insertion de menu dans mon site est résolu! Je vais donc cloturer ce message!
(J'ai cependant un autre probleme de décalage des sous-rubriques de mon menu déroulant que je vais ouvrir dans un autre mess!)

MERCI MERCI
Sophie