28173 sujets

CSS et mise en forme, CSS3

Bonjour,

ma question est sûrement très bête mais voilà ce que je souhaite est imprimer en paysage un unique élément d'une page.

J'ai donc penser à
@page { size:landscape; }

*{
	display: none;
}

#stats
{
	display: block;
}


Mais #stats prend le display:none.

Si quelqu'un a la solution, je prends Smiley smile
Merci
Modifié par Bobybx (02 Mar 2007 - 09:02)
Bonjour,

C'est tout à fait normal, bien que #stat ne "prenne" pas le display:none : en écrivant * {display:none}, tu l'applique aux éléments parents tel qu'html. Et un élément enfant ne peut pas modifier la propriété display de son parent.

Il faut donc écrire: body * {display:none}, par exemple.

Cela dit, cette propriété size n'existe plus en CSS.1, et n'a été implémentée que dans Opera.
Merci pour cette réponse claire,
je comprends mieux pourquoi cela ne marchait pas.

Pour ce qui est du size, je l'ai abandonné. Actuellement, l'utilisation du mode paysage pour l'imprimante était confortable et non indispensable.

J'en ai profité pour regarder de nombreux sujets sur l'impression en paysage. D'après ce que j'ai vu, il n'existe visiblement aucune solution efficace via css pour tous les navigateurs. Me trompe-je?
Bobybx a écrit :
J'en ai profité pour regarder de nombreux sujets sur l'impression en paysage. D'après ce que j'ai vu, il n'existe visiblement aucune solution efficace via css pour tous les navigateurs. Me trompe-je?

Non, tu ne te trompes pas.

Les feuilles de style pour l'impression sont actuellement limitées à : faciliter la vie des internautes qui veulent imprimer une page en déchargeant ladite page des éléments non utiles (navigation, en particulier) et en adaptant le style de base pour que ça passe bien sur papier (tailles de polices en points plutôt qu'en pixels, EM ou %). C'est une fonctionnalité de confort, mais ça ne permet pas d'imprimer un document avec un rendu maitrisé.