CSS : formattage d'impression

CSS : formattage d'impression - HTML/CSS - Programmation

Marsh Posté le 08-06-2006 à 09:56:52    

Bonjour, je débute dans les feuilles de style, et je doit créer un css print pour un site existant.
Ce site est composé de frames (haut, gauche et droite la partie principale).
Est-il possible de n'imprimer uniquement que le parle droite ? Où dois-je insérer mon css ? La page principale, la page pointée par le cadre droit ?
 
Merci beaucoup !!

Reply

Marsh Posté le 08-06-2006 à 09:56:52   

Reply

Marsh Posté le 08-06-2006 à 10:13:14    

Pour omettre d'afficher un élément, tu utilise la propriété CSS:
display: none;
Il y a des exemples sur le forum de CSS d'impression. Tu ajoute juste une ligne dans l'entête HTML.

Reply

Marsh Posté le 08-06-2006 à 10:20:00    

J'ai mi un id sur mes frame et ai ajouter un display none, ça fontionne merci !!!
Je vais chercher sur le forum pour mettre en forme ce que je veux.
 
Merci beaucoup !!

Reply

Marsh Posté le 08-06-2006 à 11:26:40    

J'ai toujours un soucis, j'arrive bien a cacher mes frames 1 et 2, mais elles sont toujours "présentes". En effet, le contenu du frame 3 s'affiche mais pas sur toutes la page à cause des frame 1 et 2 "invisibles". Peut-on modifier les tailles des cadres en css ?
 
Merci beaucoup !!

Reply

Marsh Posté le 08-06-2006 à 11:37:27    

On peu tous faire en CSS, ou presque  :o  
 
Donc met une class, ou identifiant sur tes cadres, et spécifie une taille
 
:D

Reply

Marsh Posté le 08-06-2006 à 11:45:45    

#Frame1
{
   height: 0px;
   display: none;
}
 
#Frame2
{
   width: 0px;
   display: none;
}
 
Mais ça marche pas...
   

Reply

Marsh Posté le 08-06-2006 à 11:48:28    

Est-il possible sinon de spécifier la frame à imprimer ?
 
Merci beaucoup

Reply

Marsh Posté le 08-06-2006 à 12:55:32    

prft je vois pas trop ton problème.
Essaye en plus:
visibility: hidden;

Reply

Marsh Posté le 08-06-2006 à 13:54:43    

Je vais essayer de m'expliquer un peu mieu.
Ma page est composé de 3 frames (haut, gauche et droite) et je ne veux imprimer que la partie droite. Pour ça j'ai créer un bouton avec un code javascript qui met le focus sur le frame droite avant d'imprimer et ça marche.
Cependant, si l'utilisateur souhaite faire un aperçu avant impression ou bien imprimer via le menu du navigateur, la, tout est imprimé, les frames incluses. En effet, un display: none ne fonctionne pas sur les frames, seul un visibility: hidden fontionne. La place occupée par les frames sur la page est donc occupée, même si celle-ci n'apparaissent pas physiquement à l'écran.
 
J'espère avoir été plus clair ;)
J'aimerai donc savoir s'il existe un moyen de n'imprimer que ma frame droite sans javascript. Je souhaiterai que tout soit géré par le css. N'existe t'il pas une commande pour définir la cible dans un css ?
 
Merci de votre aide, ce forum est très enrichissant.

Reply

Marsh Posté le 08-06-2006 à 15:02:00    

ok, essaye avec un overflow.
je suis plus sûr:
overflow: hidden
...il me semble, pour que le contenu des frames s'échappe en dehors de leur cadre, ce qui fait que tout en étant caché le contenu ne gène plus le reste de la page. À voir, si tu as vraiment des frames, de les mettre dans des divs supplémentaires.

Reply

Marsh Posté le 08-06-2006 à 15:02:00   

Reply

Marsh Posté le 08-06-2006 à 16:51:56    

Rien a faire, ça ne fonctionne pas.. Je crée donc une version imprimable dans un popup, par hazard, comment je peux récupérer les info de mon formulaire de la fenetre mère ??
 
Merci ;)

Reply

Marsh Posté le 08-06-2006 à 17:17:48    

bon ok
 
dans la fenêtre popup, en javascript:

Code :
  1. document.monformulaire.monchamps=
  2. window.parent.monformulaire.monchamps;


Remarque que, en utilisant DOM en JS:
fenêtre parente:

Code :
  1. <div id="A_imprimer"> bla bla </div>


fenêtre popup:

Code :
  1. <div id="A_imprimer">vous ne pouvez pas imprimer sans javascript</div>
  2. <script>
  3. // mettre le contenu du div à imprimer de la fenêtre principale
  4. // dans celui (à imprimer) de cette popup
  5. window.getElementById('A_imprimer').innerHTML=
  6. window.parent.getElementById('A_imprimer').innerHTML;
  7. </script>


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed