Linijki na stronie {widows, orphans}
W jaki sposób poprawić estetykę wydruku, kontrolując liczbę linijek wdowich (na górze) i sierocych (na dole)?
- Na górze strony:
selektor { widows: liczba }
- Na dole strony:
selektor { orphans: liczba }
Natomiast jako "liczba" należy podać minimalną ilość linijek akapitu, które muszą znaleźć się odpowiednio: na górze lub na dole strony.
Powyższe polecenia nie blokują przełamania strony ani go nie wywołują. Mogą być jednak przydatne ze względów estetycznych. Na przykład przeniesienie ostatniej linijki długiego akapitu na następną stronę, może nie wyglądać zbyt dobrze. Jeśli już przełamanie musi nastąpić wewnątrz bloku, znacznie lepiej byłoby przenieść na następną stronę więcej niż jedną linijkę. Za pomocą widows: liczba
możemy określić, że na początku strony powinny wystąpić przynajmniej np. 4 linijki. Wtedy co najmniej cztery ostatnie wiersze zostaną przeniesione na następną stronę (a nie jeden, dwa lub trzy). Podobnie orphans: 4
wymusi w takim przypadku, pozostawienie przynajmniej czterech pierwszych linijek akapitu na poprzedniej stronie.
Działanie to może wydawać się podobne do przełamania strony, jednak podstawowa różnica polega na tym, że powyższe polecenia nie wymuszają przełamania strony, a jedynie określają co zrobić w przypadku, gdy taka konieczność już wystąpi wewnątrz akapitu. Jeżeli cały tekst zmieści się na jednej stronie, nie zobaczymy żadnego ich działania.
Przykład {widows, orphans}
Jeśli to możliwe, podczas drukowania pozostaw przynajmniej 4 linijki akapitu na górze i na dole kartki papieru:
📋 Zaznacz kod ▶ Edytuj na żywo
p { widows: 4; orphans: 4; }
Przeglądarki
![]() Chrome | ![]() Firefox | ![]() Edge | ![]() Opera | ![]() Safari | Poziom wsparcia min. 2,5 roku | |
---|---|---|---|---|---|---|
orphans: wartość | 25 2013-02-21 | ❌ | 12 2015-07-29 | 9.2 2007-04-11 | 1.3 2005-04-15 | |
widows: wartość | 25 2013-02-21 | ❌ | 12 2015-07-29 | 9.2 2007-04-11 | 1.3 2005-04-15 |
Komentarze
- VBService
07.12.2024 16:03
Luke: "Tutaj piszą, że "się nie da".
https://stackoverflow.com/questions/1763639/how-to-deal-with-page-breaks-when-printing-a-large-html-table".
jest też taki komentarz:
"I added long table in div in html file, Then I added @media print{ thead { display: table-header-group;} tfoot...
Zobacz więcej - Luke
24.04.2014 19:29
Tutaj piszą, że "się nie da".
https://stackoverflow.com/questions/1763639/how-to-deal-with-page-breaks-when-printing-a-large-html-table
Zobacz więcej - Tuomi
24.04.2014 19:28
Tak. To kod mojego CSSa...
Zobacz więcej - DeXTeD
24.04.2014 19:20
Hmm, a próbowałeś do td zamiast tr?
Zobacz więcej - Tuomi
24.04.2014 19:15
Niestety, dalej jest tak, że górna ramka wiersza zostaje a dolna jest na następnej stronie.
Zobacz więcej - DeXTeD
24.04.2014 12:10
[...] Chyba powinno załatwić sprawę.
Zobacz więcej - Tuomi
23.04.2014 22:37
Witam.
Chciałem się zapytać jak zrobić przełamanie drukowania, ale w tabeli, tzn żeby <tr></tr> było przenoszone na kolejną stronę. Próbowałem różnych sposobów i ciągle jest bez zmian, tzn.: gdy kończy się strona to widać początek kolejnego wiersza, którego kontynuacja jest na...
Zobacz więcej - bla
28.02.2013 17:18
Mam taki problem z poleceniem, natomiast nie działa jeśli dodam go w 'div'. Inaczej jak dodam do 'table', działa na tabelę, ale tytuł tabeli zostawia na poprzedniej stronie. Jakieś propozycje?
Zobacz więcej