28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,
Je ne sais pas si c'est possible, mais je voudrais pouvoir appliquer 2 classes distinctes à mes blocs de texte.
- une classe pour l'affichage écran (media="screen")
- une classe pour l'impression (media="print").
Ainsi avec une seule source unique de contenu, je pourrais avoir deux mises en forme : une pour l'impression et une pour l'affichage écran. Cela me permettrait d'éviter de doubler mes pages HTML.
Est-ce possible ?
Merci pour vos conseils avisés.
Modifié par krakkos (03 Jun 2009 - 16:10)
Salut,

C'est effectivement possible, et de manière très simple :

<elmt class="classe1 classe2">
Tu peux cibler une même classe avec deux feuilles de styles spécifiques, en précisant le média.

<link ... media="screen">
<link ... media="print">


Cela évitera de surcharger ton code.
Merci pour vous réponses.
Est-ce reconnu par tous les navigateurs dans leurs différentes versions ?
Merci Laurie-Anne, je pense que la meilleure solution est effectivement d'avoir le même nom de classe (par exemple .texte, .titre,...) dans deux feuilles de styles aux médias différents (media="screen" et media="print").
C'est plus propre ainsi.
Modifié par krakkos (03 Jun 2009 - 15:02)
Salut,

Laurie-Anne a écrit :
Pour le type de media oui, pour les double classes je crois qu'IE6 a un peu de mal.
En fait IE6 n'a du mal que pour le sélecteur .classe1.classe2 et comprendra .classe2 (la dernière)

Ce qui ne pose pas de problème :
.classe1 { font-weight: bold; }
.classe2 { color: green; }
Ce qui pose problème :
.classe1 { font-weight: bold; }
.classe2 { color: green; }
.classe1.classe2 { color: red; }
Dans le second cas IE6 interprétera
.classe2 { color: red; }

Modifié par Heyoan (03 Jun 2009 - 15:22)
Merci Heyoan pour tes précisions concernant la déclaration des styles.
Ma dernière question concernait l'application des styles dans un même élément.
krakkos a écrit :
Ma dernière question concernait l'application des styles dans un même élément.
Oui : je parlais bien de cela (en prenant par exemple comme base le code html d'Agylus). Smiley smile