28173 sujets

CSS et mise en forme, CSS3

Bonjour a toutes et à tous,

je suis nouvelle sur ce forum, et je dois me mettre au CSS. (je suis plutot dev PHP).

J'ai un peu de mal a comprendre toutes les subtilités du CSS et notamment pour ce qui me préoccupe : l'impression.

J'ai une page qui doit être imprimable pour les internautes, et malheureusement, je ne parviens pas a faire quelque chose de correct. Je viens donc vous demander de l'aide.

Un document est imprimable sans surcharge et avec une meilleure répartition des données.
J'ai donc modifié quelques attributs, ce qui fonctionne.
Mon media print est bien pris en compte.

Mais lorsque j'imprime mon document (qui nécessite deux feuilles a l'impression), je n'ai qu'une feuille qui s'imprime, le reste de mon document étant tronqué en bas de page.
J'ai pas mal regardé ce matin sur divers sites afin de trouver une solution... en vain ...

voici le code CSS global


body {
  font-family: Arial, Verdana, Helvetica, sans-serif;
  font-size: 0.80em;
  font-weight: normal;
  margin: 0px;
  padding: 0px;
  background:#ffffff;
  background-position: top right;
  background-repeat: repeat-y;
  color:#000000;
}

/************
#logo {
  margin: 1em 60px 0 60px;
  padding: 1em 0 0 0;
  position: absolute;
  left: 170px;
}

/*************/
#content
{
  margin: 1em 60px 0 60px;
  text-align:justify;
  padding: 1em 0 0 0;
  width: 757px;
  position: absolute;
  left: 170px;
}


#titre{
margin: 1em 20px 0 60px;
}

.titre{
  text-align: center;
  background: #e10f84;
  font-weight: bolder;
  color:white;
  font-size: 18px;
  margin-top: 50px;
  text-decoration: none;
}

div {
line-height: 1.5em;
vertical-align: top;
/*border: 1px solid black;*/
}

div .contenu , .resume {
    margin-bottom: 20px;
}

div .contenu:first-letter , .resume:first-letter {
float: left; /* positionnement de la lettrine dans le conteneur*/
font-size: 3em; /* 3 hauteurs de lignes pour la lettrine*/
font-weight: bold;
font-family: Georgia, Times New Roman, Times, serif;
color: #000000;
margin: 1px;
padding: 1px;
text-transform:capitalize ;  
margin-left:10px;
}

.aussi {
  text-align: justify;
  text-indent: 5px;
}

/* Réglage pour impression */
@media print {
/*@page { size: 8.5in 11in; margin: 2cm }*/
@page {
  size: auto;   /* auto est la valeur initiale */
  margin: 10%;
}

* {
 position : relative;
}
body {
  font-size: 0.90em;
}

div {
   border: 1px solid orange;
   margin-bottom: 0px;
}

#logo {
  margin: 0 0 0 0;
  padding: 1em 0 0 0;
  position: float;
  left: 170px;
}


#content
{
  margin: 0 10px 0 10px;
  text-align:justify;
  padding: 1em 0 0 0;
  width: 1100px;
  position: relative;
  left: 20px;
}

.titre{
  text-align: center;
  background: #fff;
  font-weight: bolder;
  color:#e10f84;
  font-size: 18px;
  margin-top: 0px;
  margin-bottom: 5px;
  text-decoration: none;
  border: 1px solid #e10f84;
}
}
 


Bon, je ne comprends rien...ça s'imprime sur 2 pages maintenant !!! surement un problème de cache...Mais, je suis frustrée, je n'ai toujours pas compris ce qui bloquait...
J'ai juste passé des position : absolute en float...
Vous croyez que ça y ferait ???

Modifié par 3nityy (10 Jan 2007 - 10:24)
bonjour et bienvenu à toi!

pourais-tu éditer ton texte et mettre les balises s'il te plait?
ça serait plus simple pour lire ton code

edit : lol plus rapide que moi en faite Smiley lol
Modifié par masseuro (27 Dec 2006 - 11:09)
3nityy a écrit :
Bon, je ne comprends rien...ça s'imprime sur 2 pages maintenant !!! surement un problème de cache...Mais, je suis frustrée, je n'ai toujours pas compris ce qui bloquait...
J'ai juste passé des position : absolute en float...
Vous croyez que ça y ferait ???

Attention, le positionnement absolu c'est la bombe atomique des CSS : moins on l'utilise, mieux on se porte (surtout si on ne sait pas trop quels en sont les effets...) !
Qu'un bloc de contenu positionné en absolu soit tronqué lorsqu'il arrive en fin de page, ça ne me surprend guère. Je ne peux pas affirmer que c'est la source du problème, mais c'est une piste.

Sinon, un autre usage malheureux du positionnement :
* {
	position : relative;
}

Tous les éléments positionnés en relatif ??? J'ai du mal à établir un diagnostic : folie pure ou masochisme ? Smiley sweatdrop
Non sérieux, faut vraiment avoir envie de se taper la tête contre les murs. Smiley lol

Je sens qu'une petite révision sur le positionnement ne serait pas superflue.
http://openweb.eu.org/articles/initiation_flux/ (positionnements statique et relatif)
http://openweb.eu.org/articles/initiation_float/ (flottants)
http://openweb.eu.org/articles/initiation_absolue/ (positionnement absolu)
mpop a écrit :

Attention, le positionnement absolu c'est la bombe atomique des CSS : moins on l'utilise, mieux on se porte (surtout si on ne sait pas trop quels en sont les effets...) !
Qu'un bloc de contenu positionné en absolu soit tronqué lorsqu'il arrive en fin de page, ça ne me surprend guère. Je ne peux pas affirmer que c'est la source du problème, mais c'est une piste.

Sinon, un autre usage malheureux du positionnement :
* {
	position : relative;
}

Tous les éléments positionnés en relatif ??? J'ai du mal à établir un diagnostic : folie pure ou masochisme ? Smiley sweatdrop
Non sérieux, faut vraiment avoir envie de se taper la tête contre les murs. Smiley lol

Je sens qu'une petite révision sur le positionnement ne serait pas superflue.
http://openweb.eu.org/articles/initiation_flux/ (positionnements statique et relatif)
http://openweb.eu.org/articles/initiation_float/ (flottants)
http://openweb.eu.org/articles/initiation_absolue/ (positionnement absolu)

aïe Aîe aïe ... je l'avais dit que j'ai du mal avec le CSS. J'ai essayé de mettre en relatif pour voir...mais ça n'a rien changé, et du coup j'ai oublié purement et simplement de l'enlever...
Smiley rolleyes

Je suis justement en train de voir ces bases que je n'avais pas...et je commence a piger pas mal de trucs !!! Smiley eek

Merci bien pour l'aide ! j'avoue qu'en matière de CSS j'ai tout a apprendre... Smiley bawling
Bonjour

La feuille print s'adressant en principe à un média paginé tu pourrais fixer les tailles en cm (21x29.7 pour la page / 1.5 cm pour les marges / etc.) et les polices en pt (points) qui est la valeur "imprimerie" des em écrans.
D'autre part, dans un souci d'économie d'énergie, d'encre et de papier (hé oui les CSS ont aussi des vertus écologiques Smiley smile ) il peut être intéressant de :
1/ passer tous les textes en noir
2/ remplacer les polices non-serif (sans empattement) par des polices serif (Times ou autre) plus lisibles sur papier.
3/ supprimer les images inutiles (dévoreuses d'encre couleur)
4/ déterminer l'utilité ou pas d'imprimer les menus et autres outils de nav non-nécessaires à la consultation de ton contenu de page (cliquer sur du papier ne mène nulle part...). En principe, sauf indication contraire, l'URL complète sera imprimée en bas de page, tu pourras donc la supprimer de ton contenu
5/ préparer une mise en page adaptée au média concerné (feuille papier) pour éviter les blancs inutiles (par ex image supprimée préservant son espace)
6/ envisager des sauts de page "harmonieux" en terme de contenu : coupes avant les intertitres plutôt qu'après, etc.

CSS nous permettant d'adapter un contenu unique à des supports différents, autant pousser la démarche jusqu'au bout et mettre autant de soin à assurer une reproduction papier qu'un affichage écran.

Bonne chance et bonnes fêtes
Arsene a écrit :
Bonjour

La feuille print s'adressant en principe à un média paginé tu pourrais fixer les tailles en cm (21x29.7 pour la page / 1.5 cm pour les marges / etc.) et les polices en pt (points) qui est la valeur "imprimerie" des em écrans.
D'autre part, dans un souci d'économie d'énergie, d'encre et de papier (hé oui les CSS ont aussi des vertus écologiques Smiley smile ) il peut être intéressant de :
1/ passer tous les textes en noir
2/ remplacer les polices non-serif (sans empattement) par des polices serif (Times ou autre) plus lisibles sur papier.
3/ supprimer les images inutiles (dévoreuses d'encre couleur)
4/ déterminer l'utilité ou pas d'imprimer les menus et autres outils de nav non-nécessaires à la consultation de ton contenu de page (cliquer sur du papier ne mène nulle part...). En principe, sauf indication contraire, l'URL complète sera imprimée en bas de page, tu pourras donc la supprimer de ton contenu
5/ préparer une mise en page adaptée au média concerné (feuille papier) pour éviter les blancs inutiles (par ex image supprimée préservant son espace)
6/ envisager des sauts de page "harmonieux" en terme de contenu : coupes avant les intertitres plutôt qu'après, etc.

CSS nous permettant d'adapter un contenu unique à des supports différents, autant pousser la démarche jusqu'au bout et mettre autant de soin à assurer une reproduction papier qu'un affichage écran.

Bonne chance et bonnes fêtes


Concernant mon document, il répond déjà a ces normes 'écologiques' (faisant partie de mes convictions personnelles), j'ai aggrandit la place rise par le texte histoire manger moins de papier, j'ai limité au maximum l'utilisation de couleur intempestive, il n'y a qu'une image (logo oblige) et c'est tout...

Malheureusement, je n'arrive a rien ....
Mon problème n'est en fait pas résolu du tout, j'ai pourtant supprimé le
position : absolut
.. Smiley bawling
Je n'y comprends rien c'est déséspérant... Smiley confus

Merci de votre aide...

Bonne fêtes aussi Smiley biggol
Tony Monast a écrit :
Je crois qu'il voulait signaler qu'il manquait un e à absolute.


ok !! merci ... j'suis vraiment a l'ouest moi, il n'a peut être pas tort
Smiley cligne Smiley langue
Bonjour

J'ai un souci pour ma part avec media="print" sur IE 7 ou firefox cela ne fonctionne pas

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


quoi qu'il arrive, quand j'imprime, il prends la feuille de style communs, hors si je met print à la place de commun, ça s'affiche a l'écran, comme je souhaite imprimer.

Ais je loupé quelquechose ?
pb résolu en spécifiant media="screen" pour la css commun.css Smiley smile
Modifié par joxp (10 Jan 2007 - 14:19)
J'ai un souci similaire avec Firefox. J'ai crée une feuile de style screen et print pour le site d'un client.

Lorsque je fais un aperçu avant impression pour la page suivante http://www.unaformec-ra.com/actualites_detail.php?in_id=8 sous Firefox les éléments masqués (display: none;) s'affichent quand même. Sous IE ils sont bien masqués : la feuille de style pour le print est bien interprétée.

J'avais déjà rencontré le même problème avant. C'est ce qui m'avait freiné dans le temps pour le mettre en pratique.

Si vous avez une idée sur la question, ça m'aiderait bien.

Merci.