Witam.
Potrzebuję tworzyć dokument w HTML, aby podczas wydruku była widoczna stopka - image jakiś - ma się pojawić tylko na pierwszej stronie. Musi to działać na IE8 i IE9. Zawartość dokumentu może być różna, raz więcej, raz mniej treści, przez to, ta stopka musi być na dole ekranu ustawione dynamicznie.
Próbowałem walczyć trochę z @page :first, ale tutaj mi padding nie działa, marginesy jak ustawiłem na dół to się jak by na całym obszarze do druku takie ustawiały no i to co za marginesem nie jest widoczne :(
Jak sobie z tym poradzić ?
Forum > Tematy dowolne > HTML/CSS - stopka na pierwszej stronie
Wysłane 2015-03-21 18:58
Wysłane 2015-03-23 10:11
Najpierw napisz normalne CSS, a później te specyficzne dla wydruku (nadpisując co trzeba, plik przetwarzany jest od góry do dołu) wewnątrz znacznika:
@media print {
/* TUTAJ CSS SPECYFICZNY DLA DRUKOWANIA */
}
np.
#mojObrazek {
display: none;
}
@media print {
#mojObrazek {
display: inline;
}
}
---
Efekt będzie taki, że obrazek pokaże się tylko na wydruku.
Wysłane 2015-03-23 20:44 , Edytowane 2015-03-23 20:47
Dobrze, obrazek pokazuje się na wydruku. A teraz dalsza część pytania: chcę, aby ten obrazek pokazywał się zawsze na dole pierwszej strony przy drukowaniu, a zawartość całego dokumentu jest zmienna - to znaczy nie może być wyświetlony obrazek w stałym jednym miejscu.
To, że obrazek pokazywał mi się tylko na wydruku, miałem do tej pory. To, że był na dole pierwszej strony też miałem. Schody zaczęły się, gdy okazało się, że zawartość jest dynamiczna.
Wcześniej obrazek był albo w pozycji absolutnej, albo na sztywno wyświetlony w odpowiednim miejscu, bo wiedziałem gdzie się kończy tekst i jest końcówka strony, potem, ewentualnie page-break i cacy.
A teraz ? Mam sobie listę w znaczniku OL, ale po którym punkcie wstawić page-break i stopkę, aby to miało być tak jak sobie ktoś zażyczył ? Bo może się okazać, że przed punktem 2 zostanie wprowadzone 5 nowych linii jako nowy punkt i po punkcie 6 też nowe linie. Stopka pozycjonowana "absolutem" jest na dole pierwszej strony, ale tekst wjeżdża mi pod nią.
Sieroty i wdowy też nie pomagają, bo jak jest cały punkt na jednej stronie to nie zostanie przeniesiony na nową.
Gdzieś na stackoverflow wyczytałem, że przeglądarki mają nie do końca zaimplementowana obsługę @page.
Wrzuciłem
@page :first
{
padding-bottom : 5cm; //nic
padding: 0 0 5cm 0; //nic
margin-bottom: 5cm; //nic
margin: 0 0 5cm 0; //wszystkie strony mają zmieniony margines WTF !!??
}
Panie poratuj, bo ja już wymiękam.
Kto jest online: 0 użytkowników, 159 gości