28220 sujets

CSS et mise en forme, CSS3

Pages :
Bonjour

Sur les pages de mon site se trouve un lien "imprimer la page".
Pour définir la mise en forme de la page imprimée j'ai défini une css spécifique.
Dans les pages j'ai mis le code :

<link rel="stylesheet" type="text/css" media="print" href="../imprimer.css" />


Dans la CSS j'ai défini le div qui contient tout :

#conteneur {
	width: 100%;
	text-align: left;
	border: solid #C1C1C1 1px; 
}



Quand le visualise ma page dans IE (en appliquant le style de la css impression à la page) tout est ok, le DIV conteneur est à 100%
Quand j'imprime avec IE ce DIV est décalé vers la droite, une marge de 4 cm apparaît donc à gauche.
Avec Firefox cette marge est de 3 cm.
Comment puis-je régler ce problème ?

Merci d'avance.
Philippe
salut,


j'ai pas encore fais l'expérience, mais j'imagine que pour le papier il serait fort intéressant de changer d'unité... après tout cette feuille elle doit faire comme souvent, 21x29,7...

idem pour la bordure en cm et les polices en point... non?
Oui en effet je suis d'accord avec toi.
La bordure que j'ai mis c'est juste pour les tests et visualiser le DIV.
Mais ce qui me chagrine ce sont ces bordures causées par les navigateurs Smiley cligne
Bonjour,

Si cette marge n'est pas générée par erreur par la CSS print, c'est qu'il s'agit de la marge imposée par la configuration de l'impression au niveau client.

CSS ne peut pas modifier cette configuration client. Il faut vivre avec.
Ce qui est bizarre c'est qu'un doc imprimé dans Word fait des marges beaucoup plus restreinte. On peut pas forcer la marge alors ?
ensemblevide a écrit :
Ce qui est bizarre c'est qu'un doc imprimé dans Word fait des marges beaucoup plus restreinte.


Le navigateur spécifie ses propres marges, tout comme Word. Voir dans le menu "Fichier", la configuration de l'impression.

a écrit :
On peut pas forcer la marge alors ?


Non.

Remarque: tout ce qui concerne les CSS print a été fortement revu dans CSS2.1, faute d'implémentation acceptable. Voir http://blog-and-blues.org/weblog/2004/11/24/346-de-css2-a-css21-anticipation-raisonnable-1
je vais me faire tirer dessus en disant çà, mais il reste aussi la possibilité dans certain cas de générer un PDF à la volée. Ce qui permettra de mieux gérer l'impression et à l'utilisateur de stocker un doc de qualité.
Merci pour vos réponses
Laurent : j'ai regardé la config d'impression dans le navigateur : les marges sont de 2cm (et pas 4 comme à l'impression de la page)
Bizarre
j'ai réalisé le test de mon coté, et il semble que la zone imprimable au sens CSS tu terme commence à l'intérieur des infos genre nom du doc html, adresse IP et en pied date et nombre de page. Ce qui occasionne le décalage.

je cherche...............
Modifié par ernstein (07 Sep 2005 - 10:55)
Merci
J'ai épuré ma page au maxi en gardant seulement ce DIV, toujours le même pb
Est-ce qu'au moins le code de ce DIV est OK?

#conteneur {
width: 100%;
text-align: left;
border: solid #C1C1C1 1px; 
}
ben il n'est mauvais niveau syntaxe ..... mais j'ai aussi des souccis pour comprendre comment se passe l'impression. Smiley decu
Modifié par ernstein (07 Sep 2005 - 11:26)
j'ai avancé

si je mets :

<link href="imprimer.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" media="print" href="imprimer.css" />


A la place de :

<link href="normale.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" media="print" href="imprimer.css" />


Il n'y a plus la marge !!!!

Ma CSS normale (pour le web) interférerait sur le print ? Bizarre
J'ai trouvé une solution
J'ai changé mes liens CSS en ajoutant media à la CSS normal (web)

<link rel="stylesheet" type="text/css" media="print" href="imprimer.css" />
<link rel="stylesheet" type="text/css" media="screen" href="normale.css"  />


Maintenant tout est OK. Je suis surpris de l'interaction de la CSS normale sur celle pour l'impression
Ouff c'est réglé
Merci à tous
Pages :