1. Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!
    Information ausblenden

Seiten drucken: div-Bereiche EINschließen, statt ausschließen

Dieses Thema im Forum "HTML, XHTML & CSS" wurde erstellt von html_marcel, 11 April 2010.

  1. html_marcel

    html_marcel Neues Mitglied

    Registriert seit:
    11 April 2010
    Beiträge:
    5
    Punkte für Erfolge:
    0
    Wenn ich mich in self-HTML richtig umgeschaut habe, dann ist da wohl nur beschrieben, wie man div-Bereiche von der zu druckenden Seite ausschließen kann.

    Ich möchte das nun aber so dass er nur bestimmte div-Bereiche zum Drucken gibt!

    Das Problem ist, dass einige div-Bereiche ineinander verschachtelt sind, und ich nur den innersten drucken - äussere ausschließen möchte. Plus ein Logo vll noch dazu und eine Adresse.
    Dafür könnte man dann in jede HTML-Seite einen div-Bereich integrieren, der nur fürs Drucken ist, und Logo und Adresse enthält.

    geht das?
    danke schonmal!
     
    Zuletzt bearbeitet: 11 April 2010
    Werbung:

    Jetzt registrieren, damit diese Werbung verschwindet
  2. threadi

    threadi Moderator Team Moderator

    Registriert seit:
    20 Oktober 2006
    Beiträge:
    15.130
    Punkte für Erfolge:
    83
    Blende die Elemente bei der normalen Anzeige im Browser per "display: none;" aus und in der Druckansicht mit "display: block;" ein. Dann hast Du Bereiche die nur im Druck zu sehen sind.
     
  3. html_marcel

    html_marcel Neues Mitglied

    Registriert seit:
    11 April 2010
    Beiträge:
    5
    Punkte für Erfolge:
    0
    Ah ja stimmt ok danke. Das ist ja wie in selfHTML beschrieben.

    Aber was mach ich mit meinem eigentlich Problem? div-Bereiche die in einem andren div-Bereich verschachtelt sind explizit zu drucken und alle andren nicht?
     
  4. lowsaxonian

    lowsaxonian Neues Mitglied

    Registriert seit:
    9 März 2010
    Beiträge:
    495
    Punkte für Erfolge:
    0
    Hier ist ein weiterer Artikel zum Thema.
    Grüsse
    low
     
  5. threadi

    threadi Moderator Team Moderator

    Registriert seit:
    20 Oktober 2006
    Beiträge:
    15.130
    Punkte für Erfolge:
    83
    Unterscheide die zu druckenden Elemente von den nicht zu druckenden Elementen mittels einer zusätzlichen CSS-Klasse, z.B. "print".
     
  6. html_marcel

    html_marcel Neues Mitglied

    Registriert seit:
    11 April 2010
    Beiträge:
    5
    Punkte für Erfolge:
    0
    thx für den link!

    Ja aber genau da ist ja das Problem.
    Ich habe einen div-bereich1 mit Inhalt, der NICHT gedruckt werden soll.
    Innerhalb genau diesen div-Bereichs ist ein div-Bereich2 den ich drucken will.

    Wenn wir jetzt annehmen das würde so klappen wie beschrieben dann müsste ich den div-Bereich1 als "bitte nicht drucken" deklarieren.
    Damit wird aber alles innerhalb dieses div-Bereichs NICHT gedruckt - insbesondere divBereich2 !

    also mein Szenario:
    <div print=nein!>
    der Text hier soll nicht gedruckt werden
    <div print=ja!>
    den hier will ich drucken.
    </div>
    </div>

    da druckt er doch dann gar nix, oder?
     
  7. threadi

    threadi Moderator Team Moderator

    Registriert seit:
    20 Oktober 2006
    Beiträge:
    15.130
    Punkte für Erfolge:
    83
    Ach jetzt verstehe ich. Nein, das geht leider nicht.
     
  8. html_marcel

    html_marcel Neues Mitglied

    Registriert seit:
    11 April 2010
    Beiträge:
    5
    Punkte für Erfolge:
    0
    Hm ok aber mir kam grad selber eine Idee - ich mach es einfach so :)

    in rot meine Änderung am Original:

    Code (text):
    1.  
    2. <div>
    3.    [COLOR="red"]<div "do_not_print">[/COLOR]
    4.    soll nicht gedruckt werden
    5.    [COLOR="red"]</div>[/COLOR]
    6.    <div>
    7.       soll gedruckt werden
    8.    </div>
    9. </div>
    10.  
    Also den Text, der nicht gedruckt werden soll, mit neuen div-bereichen ausstatten :)

    Aber dann kommt schon das nächste Problem:
    der äusserste div-Bereich rückt alles nach rechts. Diese Einrückung hätte ich dann auch auf dem Papier :(
     
  9. lowsaxonian

    lowsaxonian Neues Mitglied

    Registriert seit:
    9 März 2010
    Beiträge:
    495
    Punkte für Erfolge:
    0
    Nein, da du in einer (angenommenen) print.css für die entsprechende class/id neue Formatierungen, Positionen, Margins etc.pp. vorgibst.
    Die Monitor- und die Print-css können (und müssen teilweise) völlig getrennte Wege im Layout gehen. Müssen, weil es im Druck sinnvoll ist, einen seitlichen Rand zu definieren, der auf dem Monitor störend sein könnte.
    Führe Dir vor Augen, dass Du 2 (oder mehr; es gibt ja auch noch Blinde/Sehbehinderte, die sich die Seite z.B. über den Brailledrucker ausgeben lassen) völlig unterschiedliche Stylesheets anlegen kannst - und solltest.
    Farbpartonen sind, je nach Drucker, reichlich teuer, also ist es ggf. sinnvoll, Farbe in schwarz oder Graustufen umzuwandeln, Buttons müssen nicht mit ausgedruckt werden, (Mailto-)Links können (sollten) anders dargestellt werden, Bilder müssen nicht unbedingt sinnvoll sein (Graustufen), etc. pp. Das alles definierst Du in der print.css.

    Grüsse
    low
     
  10. html_marcel

    html_marcel Neues Mitglied

    Registriert seit:
    11 April 2010
    Beiträge:
    5
    Punkte für Erfolge:
    0
    vielen dank für die ausführlichen Hinweise.
    Dann werd ich mich mal mit der print.css beschäftigen!

    ich schreib dann wenn ich erfolgreich bin