28220 sujets

CSS et mise en forme, CSS3

Bonjour à toutes et à tous,

Je suis face à un problème que je n'arrive pas à résoudre et je suis donc à la recherche d'aide.

J'ai une page composée de 5 div principaux: #header, #inter, #menu, #contenu, #footer.
#contenu est composé de #haut, #milieu, #bas.
#milieu comporte #texte qui est en overflow:auto.
Je souhaite proposer à l'impression uniquement ce qui est dans #texte, et bien entendu ne plus avoir l'aspect cadre de l'overflow:auto.
Dans une page CSS externe nommée print, j'ai donc spécifié pour #header, #inter, #menu et #footer display:none pour les faire disparaitre: résultat OK.
Pour #texte, je lui ai adjoint overflow:visible mais seule la partie visible dans le cadre est proposée à l'impression.

Sur un autre site, en faisant cette manip tout fonctionne. La différence est le nombre de div qui "entourent" le #texte.

C'est quoi l'astuce qui me manque? Comment faire?

Merci pour votre aide.

PS Je ne suis qu'un grand amateur de webdesign et autodidacte. Donc si mon discours n'est pas clair dites le moi, j'essaierais de mieux m'expliquer!
bonjour,

que veux tu dire par nommer ta css "print" ?

Ce qu'il faut c'est lui attribuer le media="print"

Soit :


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


le mieux c'est d'attribuer à ta feuille de style principale le media="screen" (ou media="screen, projection")

la feuille de style print_version.css tant qu'elle n'est pas renseignée mettra alors ton document en rendu complètement nostyle.

Tu pourras donc faire tes choix en repartant de zero. Sans avoir à annuler des propriété indiquées dans d'autres feuilles de style avec des media différents.
Merci pour ta réponse mais ça j'avais compris Smiley biggrin
C'est pour les attributs à donner au div (qui est en overflow:auto sur la feuille screen) que j'ai des problèmes: la fonction overflow:visible ne fonctionne pas!
Tu devrais relire ma réponse car elle te donne la solution quelque soient les propriétés que tu mettra dans la feuille de style media="screen". Qu'il s'agisse d'overflow ou tout ce que tu veux, ça ne sera pas pris en compte si une css media="print" existe.

Si le problème persiste alors donne nous le code avec lequel tu lies tes feuilles de style externes.
Ok et merci Smiley ravi

<link media="print" href="./print.css" type="text/css"  rel="stylesheet" />
<link media="all" href="./page1.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="./fonctions.js"></script>
En relisant ton post, il faut peut être que j'enlève media='all'! Smiley confused
BINGO!

Merci ! Smiley biggrin
Modifié par MV007 (27 Dec 2005 - 18:42)