Css und if-clause

Hm ja,
genau da liegt der Hase im Pfeffer. Js geht nicht.
Es gibt wohl :nth child
Das scheint ein Ansatz zu sein, weil man damit auch andere Ansätze fahren kann.
Gruß
Oliver

Hi,
ich denke jquery wird schwierig, da ich ja ein pdf generieren möchte. Aber einen Ansatztipp habe ich bekommen:
:nth child

Mal sehen.
Gruß
Oliver

Hi,
also ich habe mir mal dieses Beispiel angeschaut:
http://www.w3schools.com/cssref/tryit.asp?filename=t…

Im Prinzip genau das was ich suche. Allerdings scheint das Ganze noch etwas buggy zu sein.

p:nth-child(4)
{
background:#ff0000;
}
This is a heading
The first paragraph.

The second paragraph.
The third paragraph.
The fourth paragraph.

Note: Internet Explorer does not support the :nth-child() selector.

Das färbt mir das 4. Element ein, nicht den 4. Absatz
Gruß
Oliver

Hi,
also ich habe mir mal dieses Beispiel angeschaut:
http://www.w3schools.com/cssref/tryit.asp?filename=t…

Im Prinzip genau das was ich suche. Allerdings scheint das Ganze noch etwas buggy zu sein.

p:nth-child(4)
{
background:#ff0000;
}
This is a heading
The first paragraph.

The second paragraph.
The third paragraph.
The fourth paragraph.

Note: Internet Explorer does not support the :nth-child() selector.

Das färbt mir das 4. Element ein, nicht den 4. Absatz
Gruß
Oliver.

Heyho,
ja, das soll es ja auch. Wenn du das vierte -Element haben willst, musst du - wie beschrieben - statt :nth-child() den Pseudoselektor :nth-of-type() nehmen.
Damit sollte es gehen. :wink:

Gruß, Florian

Trotzdem Danke fürs feedback!

Hallo Oliver, hier wird das CSS-Themengebiet fur mich
verlassen. Sorry. Da sind Pdf oder PHP-Foren einschlägig.
Viele Grüße

Mist, leider spielt da dompdf nicht mit.
Dateien werden zwar erzeugt, lassen sich aber nicht öffnen.
Habe versucht das Ganze über internes css als var zu lösen als auch über externes css oder auch die ganze html-Variable in zwei Versionen zu schreiben.
Gruß
Oliver

Hi,
danke erstmal für die schnelle Antwort!
Hm verflixt. Im „normalen“ html-Beispiel gehts.
In der Dompdf Anwendung scheints Probleme zu machen.
Da färbt der mir alle ein…
Nun bin ich über @page:first gestolpert worden…
Gruß
Oliver

Kann es sein, dass es damit zusammenhängt, dass es bei html-Ausgabe nur einen header gibt id=
und beim pdf gibt es ja uU mehrere header von Seite 1, Seite 2 usw. Also quasi dieselbe id mehrfach vergeben wird, die Seiten dann aber zusammengefügt werden…
?

Hallo Oliver,

also hier:

https://code.google.com/p/dompdf/wiki/Usage#Inline_P…

steht, dass man den Inline PHP Support mit DOMPDF_ENABLE_PHP anschalten kann.

Dann steht weiter, dass in einem „second Pass“ die Variable $PAGE_NUM zur Verfügung steht.

Kann ich hier nicht mit Inline PHP die Variable auf 1 prüfen und dann nur ausgeben wenn es 1 ist?

Leider arbeite ich nicht mit dompdf, so dass ich es jetzt nicht testen kann. Sorry, wenn ich hier nicht weiterhelfen kann.

Gruß
Gernot

Hi Gernot,
die Idee ist gut. Hatte ich auch schon :wink:

Leider kommt sowas dabei raus:
http://screencast.com/t/rqPkQueu6kJ

Also das pdf wird generiert ist aber unbrauchbar.
Auch sowas wie if($pagecount==1) oder if($_GET[‚page‘]==1)
tut nicht, leider. Scheint nur über css zu gehen und dann ausblenden…
Aber da hakts nun daran, dass die id=„header“ quasi mehrfach vergeben wird, da es bei der html-Ausgabe natürlich nur 1 header gibt, beim pdf uu aber mehr.
Gruß
Oliver

Das kann ich dir nicht sagen, weil ich deinen Quelltext null kenne. :wink:

Darf ich Dich damit erschlagen?

Das kann ich dir nicht sagen, weil ich deinen Quelltext null
kenne. :wink:

Na versuch’s mal. :wink:

Danke!
Mein content:

<?php require_once("dompdf_config.inc.php");
$html='Header and Footer example @page { margin: 2cm; } body { font-family: sans-serif; margin: 0.5cm 0; text-align: justify; } #header, #footer { position: fixed; left: 0; right: 0; color: #aaa; font-size: 0.9em; } #header { top: 0; border-bottom: 0.1pt solid #aaa; } #footer { bottom: 0; border-top: 0.1pt solid #aaa; } #header table, #footer table { width: 100%; border-collapse: collapse; border: none; background-color:red; } #header td, #footer td { padding: 0; width: 50%; } .page-number:before { content: "Page " counter(page); } hr { page-break-after: always; border: 0; } div.page-number:nth-of-type(1) { text-align: center; color:green; } Example document Author Section 1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. Section 2 Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique ligula justo vitae magna. Morbi vel erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique ligula justo vitae magna. Section 3 Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. '; $dompdf = new DOMPDF(); $dompdf-\>load\_html($html); $dompdf-\>render(); $dompdf-\>stream("sample.pdf"); ?\> ##################### Original: Header and Footer example @page { margin: 2cm; } body { font-family: sans-serif; margin: 0.5cm 0; text-align: justify; } #header, #footer { position: fixed; left: 0; right: 0; color: #aaa; font-size: 0.9em; } #header { top: 0; border-bottom: 0.1pt solid #aaa; } #footer { bottom: 0; border-top: 0.1pt solid #aaa; } #header table, #footer table { width: 100%; border-collapse: collapse; border: none; } #header td, #footer td { padding: 0; width: 50%; } .page-number { text-align: center; } .page-number:before { content: "Page " counter(page); } hr { page-break-after: always; border: 0; } Example document Author Section 1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. Section 2 Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique ligula justo vitae magna. Morbi vel erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique ligula justo vitae magna. Section 3 Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. Also das nth-of-type(1) wäre super, weil man damit auch andere Dinge uU später mal realisieren kann, zB Vorder- und Rückseite.

Also prinzipiell kenn ich mich mit CSS für Printmedien kaum aus. Aber wenn man Google befragt, müsste DomPDF die :nth-of-type()-Sache eigentlich problemlos erkennen, allerdings erst seit Version 0.6 beta 3. Vielleicht hast du ja eine ältere Version?

Nee, leider, so einfach ist es leider nicht. :wink:
Frisch installiert.

Das Ding sind die header!
Denn ändere ich das Beispiel nach irgendwas mit

dfkvdavkfdbvkvfb
dfkvdavkfdbvkvfb
dfkvdavkfdbvkvfb
dfkvdavkfdbvkvfb
dfkvdavkfdbvkvfb

kann ich mit p:nth-of-type(n) problemlos jede beliebigen Absatz einfärben.
Daher vermute ich mal ,dass der Hase irgendwo im header liegt…

Hm. Ich verstehe ehrlich gesagt gerade nicht, was genau nicht funktioniert. :wink:

Ich denke mal:
Normalerweise ist eine id eindeutig.
Im Original-Beispiel gibt es die id „header“.
Und klar in einem html-Dokument gibt es nur einen header und damit nur eine id.
Beim pdf, welches als A4 formatiert wird, kann es mehrere Seiten und damit mehrere header geben.
Also quasi werden verschiedene Seiten zusammengetrixt,
so das der header immer der erste ist.

Kann es das sein?

Theoretisch, wenn du ein mehrseitiges PDF erstellst mit deinem Code, sollte der Header schlichtweg nur einmal vorkommen, nämlich auf der ersten Seite - und danach nie wieder. :wink: