Forums : Les possiblités de la plateforme Mozilla

Aller à la discussion :  Plus récente Plus ancienne

Aller à la page :  1 2

# Créer des rapports (états imprimés)

Envoyé par : thefab

Date : 19/05/2006 15:38

Il me manque une fonctionnalité très importante pour une application de gestion: les états imprimés.

Est-ce que c'est possible, en CSS, de créer des en-têtes et des pieds de page (blocs de texte qui s'affichent en haut ou en bas de chaque page, comme le numéro de page, ou seulement sur certaines pages) ?

Fabrice

# Re: Créer des rapports (états imprimés)

Envoyé par : wako

Date : 19/05/2006 17:17

Il y a quelques attributs css qui permettent ceci (generation de numéro automatique, ajout de contenu) mais je n'ai jamais trop tester le résultat final.

:before pour ajouter avant
:after pour ajouter après

counter pour la numérotation, à utiliser après before et after

Il y a la description des attributs dans cette reference.

Je sais pas si c'est exactement ce que tu cherches, mais tu devrais trouver ta vie sur ce site pour les css.

wako

# Re: Créer des rapports (états imprimés)

Envoyé par : thefab

Date : 19/05/2006 17:36

Je connais :before et :after mais je suis pas sur qu'il s'applique à la page ? D'ailleurs comment définir la notion de page dans un document HTML en continu ?? Si c'est possible c'est exactement ce que je cherche: les pages.

Merci pour le lien je vais voir ça de suite...

# Re: Créer des rapports (états imprimés)

Envoyé par : chBok

Date : 19/05/2006 17:50

La seule référence sur les CSS que je préfère est la série de traduction menée par yoyodesign. A ce titre, il y a un chapitre sur les médias paginés à lire. Peut être que ca répond à ta question.

# Re: Créer des rapports (états imprimés)

Envoyé par : thefab

Date : 19/05/2006 17:58

Merci pour les liens, à première vue ça correspond exactement à ce que je cherche... J'en connais un qui va paginer ce week-end :-)

# Re: Créer des rapports (états imprimés)

Envoyé par : thefab

Date : 22/05/2006 17:12

Snif, je me suis réjouis un peu vite... impossible de faire fonctionner quoi que ce soit !

@page { size: 21cm 29.7cm; margin: 2cm; }

Je n'ai pas réussi à définir la taille, l'orientation ni les marges, le seul truc que j'ai réussi ce sont les sauts de page: page-break-*

@page:before { content: "Header"; }
@page:after { content: "Footer"; }

Créer des en-têtes et des pieds de page ne semble pas fonctionner pour les pages ?

h1:before { content: counter(titre) "."; counter-increment: titre; }

Et les compteurs restent à 1 (ou 0 je sais plus)...

Bref, est-ce que c'est censé fonctionner ? Quelle version de CSS est supportée par Firefox (XULRunner dans mon cas) ? Existe-t-il une page qui répertorie les fonctionnalités CSS prise en charge ?

D'avance merci

Fabrice

# Re: Créer des rapports (états imprimés)

Envoyé par : chBok

Date : 22/05/2006 19:06

Il est possible en effet que 100% des spécifications CSS2 n'aient pas été implémentées...

Pour les compteurs, je me souviens d'une discussion intéressante sur le forum de Geckozone.

Pour la pagination, je ne sais pas - jamais testé en fait.

# Re: Créer des rapports (états imprimés)

Envoyé par : laurentj

Date : 23/05/2006 00:04

Exemple de counter : http://ljouanneau.com/standards/css/css-(..)

tu as oublié le counter-reset.

pour la pagination, pas sûr que ce soit implémenté complétement (voir implementé tout court)

# Re: Créer des rapports (états imprimés)

Envoyé par : thefab

Date : 23/05/2006 01:23

Effectivement ça fonctionne mieux avec counter-reset (qui, avec counter-increment, doivent se trouver hors du :before d'après la discussion du lien donné par chBok)

h2:before
  {
  content: counter(chapter) ".";
  }
h2
  {
  counter-increment: chapter;
  counter-reset: section;
  }

Ce que je voulais à la base c'était avoir des en-têtes et des pieds de page (la numérotation auto était juste un exemple) mais en fait je me suis (très: qui a dit ça !) mal exprimé ! :before et :after me conviennent donc (même si ce n'est pas par rapport à la page, sinon j'irai voir du côté de l'aperçu avant impression)

Je reformule donc une autre question: Est-il possible de forcer un espace blanc variable jusqu'au fond de la page ?

+----------+          +----------+
| aaaaaaaa |          | aaaaaaaa |
| aaaaaaaa |          | aaaaaaaa |
| aaaaaaaa |          | aaaaaaaa |
| bbbbbbbb | devient: |          |
|          |          |          |
|          |          | bbbbbbbb |
+----------+          +----------+

Fabrice

# Re: Créer des rapports (états imprimés)

Envoyé par : thefab

Date : 24/05/2006 07:09

Avec position: fixed; j'arrive à avoir quelque chose d'approchant, mais ça reste du bricolage car, bien que le bloc soit répété sur toutes les pages, le reste du texte passe dessous (certainement possible de corriger avec des marges), les styles CSS ne sont pris en compte que sur la première page après plus ? Bref c'est pas encore ça:

<html>
<head>
  <title>Simuler un pied de page</title>
<style type="text/css">
#conditions
  {
  border-top: 1px solid black;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  }
</style>
</head>
<body>

<h1>Facture</h1>

<p>Article</p>
<p>Article</p>
<p>Article</p>
<p>Article</p>

<p id="conditions">Conditions</p>

</body>
</html>

Donne quelque chose comme ça:

+------------------+
| FACTURE          |
| Article          |
| Article          |
| Article          |
| Article          |
|                  |
|                  |
|                  |
|                  |
| ________________ |
| Conditions       |
+------------------+

Aller à la page :  1 2

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.