28172 sujets

CSS et mise en forme, CSS3

Bonjour
Petit probleme sympa.
J'ai un site pour lequel je desire appliquer une CSS pour l'impression. Je me dis donc "Pas de probleme, definissons un
<link media="print"... />
et le tour est joue".
Je cree donc un fichier "print.css" dans lequel je definis le style pour l'impression :

/* print.css */
@page port {size: portrait;}
@page land {size: landscape;}
 
body {page: land;line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;}
...


Puis, dans mon header, j'importe mes CSSs :

 
<html>
	<head>
		...
		<link rel="stylesheet" type="text/css" media="screen" href="/design/design.css" />
		<!--[if IE 6]>
			<link rel="stylesheet" type="text/css" media="screen" href="/ie6.css" />
		...
		<![endif]-->
		...
		<link rel="stylesheet" type="text/css" media="print" href="/print.css" />
		...
	</head>
	<body>
		Contenu a imprimer
	</body>
</html>


NB : Les "..." indiquent l'emplacement d'autres CSSs de type "screen".

Bon, j'ouvre ma page sous Firefox => "Apercu avant impression", c'est bon, "print.css" est appliquee.
J'ouvre la meme page sous IE8 (7 et 6 donnent le meme resultat), et la, le style applique est celui de "design.css".

Peut importe la position de "print.css" (avant/apres), j'obtiens la meme chose.

Quelqu'un a-t-il une idee ?
Merci
messier79 a écrit :
Quelqu'un a-t-il une idee ?

Tu utilises un Doctype en bonne et due forme? La page est valide?
La page est valide et voici mon doctype et les proprietes du tag html :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-CA" lang="fr-CA">
...
J'ai trouve Smiley smile
En fait, rien a voir avec la CSS.
Notre site tourne avec ezPublish et il y a une option qui permet d'avoir une version de la page pour l'impression activee par default.
Si cette option est activee, un

<link rel="Alternate" media="print" />

est ajoute, ce qui, en temps normal, permet de definir un template specifique pour l'impression.

Seulement, dans notre cas, vu qu'on utilise directement la CSS pour definir la version imprimable, on n'utilise pas ca. Et le truc, c'est que ce systeme court-circuite notre "print.css".

Il suffit juste d'ajouter un parametre pour qu'ezPublish n'ajoute pas cette ligne.

Pour les curieux ou simplement ceux qui utilisent ezPublish et pourraient etre confronte a ce probleme, la modification est a faire dans "page_head.tpl" a la ligne qui inclue "link.tpl" :

{include uri="design:link.tpl" ... enable_print=false()


Voila