28220 sujets

CSS et mise en forme, CSS3

Bonjour,

je cherche depuis qq heures et ne trouve pas la soluce.

Je souhaite créer un format d'impression à partir d'une css.
En entête et bas de page, je souhaite placer une image (logo) sur toute la largeur de la page.

Comment faire pour que cette image n'apparaisse que dans le format imprimable ?

j'utilise bien entendu deux fichier css, l'un pour les media="projection, screen, tv", l'autre pour le media="print"

merci d'avance
Pour qu'une image HTML n'apparaisse pas à l'écran, un simple #image_header {display:none;} dans la CSS Screen. Pour qu'il apparaisse à l'impression: #image_header {display:block;} dans la CSS Print.

Même chose s'il s'agit d'une image de background CSS : rien à préciser dans la CSS Screen, mais un #image_header {background: url(...);} dans la CSS Print.

Avec une image HTML, tes bandeaux seront imprimés dans tous les cas... sauf si l'utilisateur désactive l'impression des images Smiley cligne

Avec une image CSS, tes bandeaux ne seront imprimés que si l'utilisateur a activé l'impression des couleurs d'arrière-plan, ce qui n'est pas l'option par défaut, et qui est très très agaçant pour beaucoup de gens.

En outre, selon le format papier, et surtout les réglages de marges utilisateurs (qui l'emportent sur tes marges CSS), etc. tes images ne se retrouveront que parfois là où tu l'a prévu, c'est à dire en tête et pied-de-page.

CSS ne permet pas de forcer une impression, la configuration utilisateur ayant toujours priorité : elle doit donc être utilisée pour favoriser une impression correcte, mais il est illusoire de s'en servir pour produire... un PDF Smiley cligne
Modifié par Laurent Denis (07 Jul 2005 - 05:40)