Bonjour,

Dans un site en construction, qui fonctionnait très bien tant que j'avais tous mes fichiers htm les uns à la suite des autres, j'ai voulu y mettre de l'ordre en plaçant les fichiers htm dans des dossiers et sous-dossiers, en rectifiant les liens. Les fichiers qui se trouvent dans ces dossiers apparaissent alors sans la mise en forme de la feuille de style css. Après de nombreux essais, j'ai constaté qu'en plaçant la même feuille de style dans tous les dossiers, cela corrigeait le problème. Est-ce bien la bonne méthode ?
Modifié par pierremes (15 Sep 2005 - 11:54)
Bonjour.
Normalement, c'est inutile.
Tu mets ton fichier CSS à la racine de ton compte FTP, tu appelle celui-ci dans chaque page web avec <link ..... href="/css.css" />
et puis encore une chose : les fichiers images (fond, etc) que tu définis dans ta CSS sont relatifs à celle-ci et non à la page web.
Chacun de mes fichiers htm a un lien (<link rel="stylesheet" type="text/css" href="styles.css" media="screen" /> vers la feuille de style et cela fonctionnait parfaitement tant que j'avais mes fichiers htm les uns à la suite des autres.
C'est à partir du moment où j'ai placé ces fichiers dans des dossiers et sous-dossiers, en redéfinissant les liens vers ces dossiers, que ma mise en page apparaît (donc les liens sont bons) sans la mise en forme demandée par ma feuille de style. Par contre, les fichiers htm que je n'ai pas placés dans des dossiers sont correctement mis en forme.
Administrateur
Je ne pense pas non plus que ce soit la bonne méthode: si tu dois modifier un élément de ton CSS, il faut ensuite penser à répercuter la modif dans tous les répertoires (copier-coller) Smiley ohwell

A/ Si tu indiques le nom de ta feuille de style seul, c'est qu'il est censé être dans le même répertoire que le fichier HTML.

B/ Si elle est dans un sous-répertoire sousrep (l'inverse de ton cas), il faudrait indiquer le chemin relatif + le nom ainsi: sousrep/feuilledestyle.css
Si au contraire, la page HTML est dans un sous-répertoire par rapport à la feuille de style (ton cas), donc que la feuille de style est dans le répertoire parent de la page HTML, c'est ../feuilledestyle.css qu'il faudrait indiquer (.. signifiant parent ou "remonter d'un niveau de répertoire")

C/Il est aussi possible d'indiquer un chemin absolu plutôt que relatif, par exemple en commençant par la racine du site que l'on note /
/feuilledestyle.css indique que la feuille de style se trouve à la racine; /sousrep/feuilledestyle.css qu'elle est dans le sous-rpéertoire sousrep qui lui se trouve à la racine (la page HTML peut être n'importe où, elle appelera toujours le même répertoire /sousrep: c'est dans l'absolu et non plus relativement à l'endroit où se trouve la page HTML)
Modifié par Felipe (13 Sep 2005 - 21:31)
Administrateur
pierremes a écrit :
Chacun de mes fichiers htm a un lien (<link rel="stylesheet" type="text/css" href="styles.css" media="screen" /> vers la feuille de style et cela fonctionnait parfaitement tant que j'avais mes fichiers htm les uns à la suite des autres.
C'est à partir du moment où j'ai placé ces fichiers dans des dossiers et sous-dossiers, en redéfinissant les liens vers ces dossiers, que ma mise en page apparaît (donc les liens sont bons) sans la mise en forme demandée par ma feuille de style. Par contre, les fichiers htm que je n'ai pas placés dans des dossiers sont correctement mis en forme.

C'est bien ce qu'indique QuentinC, note le / devant son exemple /css.css par rapport au tien styles.css Smiley cligne (c'est pas facile à voir mais ça change tout Smiley smile )
OK, cela fonctionne parfaitement.
Dans les fichiers htm qui sont dans des dossiers, j'ai donné le chemin vers la feuille de style href="../styles.css"
Il faudra donc suggérer à Raphaël que, dans la prochaine édition de son livre, il indique cette information pour les débutants comme moi !!!
Encore merci.
Administrateur
Y a rien dans l'index à chemin, absolu ou relatif? Ou quand il donne les 3 manières d'inclure CSS dans HTML? Je pensais que c'était un tuto déplacé vers le livre tiens ...