28221 sujets

CSS et mise en forme, CSS3

Plop,

j'aimerais savoir s'il est possible, en restant dans les spécifications du W3C, de définir plusieurs feuilles de styles pour un même document ?

Je m'éxplique : j'aurrais par exemple une feuille de styles page.css (toujours la même) pour la mise en page générale du document (en-tête, menu, pied de page, etc), ainsi qu'une 'secondaire' accueil.css/article.css/commentaires.css/etc... pour le contenu dynamique (apporté par PHP) du document.

Qu'en pensez-vous ?
Modifié par Bouda (13 Apr 2005 - 09:18)
Ben moi je le fais... exactement pour ça : une feuille que j'appelle "globale" pour mes mises en page communes, mais balises h tout ça... et une feuille par page particulière. J'appelle la feuille spécifique en plus si j'ai besoin. Comme ça, ma globale est légère, chargée qu'une fois et les particulières très légères aussi.
Maintenant, je ne sais pas si c'est très "orthodoxe", mais j'ai pas eu d'erreurs de validation pour ça.
Administrateur
Les deux méthodes fonctionnent : Link et @import

Tu peux faire comme ça si tu veux :
<!-- feuille de style pour la typographie -->
<link rel="stylesheet" href="typographie.css" type="text/css" />

<!-- feuille pour la mise en page,  media="..." permet de ne pas utiliser ce style sous Netscape 4 -->
<link rel="stylesheet" href="habillage.css" type="text/css" media="projection, screen, tv" />

<!-- Feuille pour l'impression -->
<link rel="stylesheet" href="print.css" type="text/css" media="print" />


... ou faire l'équivalent avec @import :


<style type="text/css">
@import url(typographie.css);
@import url(habillage.css) projection, screen, tv;
@import url(print.css) print;
</style>


Quelques infos :
http://www.alsacreations.com/blog/index.php?2004/09/25/64-link-ou-import
Je crois que là seule la solution @import fonctionne, si j'ai bien compris c'est pour séparer la feuille de style globale en morceau et non en media ou en styles alternatifs.
Administrateur
ElMoustiko a écrit :
Je crois que là seule la solution @import fonctionne, si j'ai bien compris c'est pour séparer la feuille de style globale en morceau et non en media ou en styles alternatifs.

Non, j'ai en effet distingué les médias dans mon exemple mais tu peux très bien ne pas les spécifier :


<link rel="stylesheet" href="styles1.css" type="text/css" />
<link rel="stylesheet" href="styles2.css" type="text/css" />
<link rel="stylesheet" href="styles3.css" type="text/css" />


Cela chargera les 3 feuilles en écrasant les styles qui sont identiques (s'il y'en a)
J'ai réalier, il y'a quelques mois, un petit script PHP (lien mort), et j'y ai utiliser 2 <link>, celà fonctionne, mais une fois de temps en temps, j'ai l'impression qu'une des deux feuille ne se charge pas complètement et donne une taille de caractère plus grande que celle définie... Smiley rolleyes

Pourriez-vous me dire si j'ai utilisé ces balises comme il faut ?
Merci

Edit: En faisant quelque refresh vous pourrez le voir
Modifié par Bouda (20 Apr 2005 - 22:19)
Pour eviter les Frames, j'ai crée un site en "php" comme dans les tutoriels d'Alsa. Cependant je me pose une question :

J'ai un css pour ma mise en page globale et je veux créer des fiches dans mon site pour lesquelles je souhaite avoir un css particulier.
Hors ces fiches ne seront que des pseudos fichiers htmls (car pas d'header, puisqu'elles seront chargées par la page en php).

Est-ce que <style></style> marchera? ou est ce que je dois m'en passer?

Mu