| Autor | Zpráva | ||
|---|---|---|---|
| Darth-Cz- Profil * |
#1 · Zasláno: 12. 1. 2011, 10:40:42
Dobrý den,
chtěl bych se zeptat, zda nevíte, jestli by šlo, aby se tabulky s daty při tisku nezalamovaly. Je totiž blbé, když na konci stránky při tisku mám jen hlavičku tabulky a na další straně mi pokračují data. Stránka se skládá z mnoha menších tabulek. Potřeboval bych něco, aby se při tisku poznalo, že když se nevejde na stránku tabulka celá, aby se stránka zalomila a tabulka se tiskla na další straně. Za odpověď děkuji |
||
| Kajman_ Profil * |
#2 · Zasláno: 12. 1. 2011, 11:03:24
Zkoušel jste něco takového v tiskovém stylu?
table thead, table thead tr {page-break-after:avoid} |
||
| Darth-Cz- Profil * |
#3 · Zasláno: 12. 1. 2011, 12:29:47
Kajman:
ano, bohužel to s ničím ani nehlo :( |
||
| Kajman_ Profil * |
#4 · Zasláno: 12. 1. 2011, 12:38:22
Máte živou ukázku?
|
||
| Darth-Cz- Profil * |
#5 · Zasláno: 12. 1. 2011, 12:48:48
Kajman:
Bohužel. Je to interní firemní systém a běží na intranetu. Nicméně tabulky se skládají z tohoto opakujícího se kódu (hodnoty i nadpisy byly pozměněny): <table class="tab-celkova"> <tr> <th width="15%">Firma</th> <th width="20%">Web</th> <th width="25%">Klíčové slovo</th> <th width="10%">strana</th> <th width="10%">pozice</th> <th width="10%">strana</th> <th width="10%">pozice</th> </tr> <tr> <td rowspan="4" valign="top" style="border: none;" class="firm">firma</td> <td rowspan="4" valign="top" style="border: none;" class="web">web</td> </tr> <tr> <td>testik</td> <td class="grey-arrow">*</td> <td class="grey-arrow">*</td> <td class="grey-arrow">*</td> <td class="grey-arrow">*</td> </tr> <tr> <td>test1</td> <td class="grey-arrow">*</td> <td class="grey-arrow">*</td> <td class="grey-arrow">*</td> <td class="grey-arrow">*</td> </tr> <tr> <td>test</td> <td class="grey-arrow">*</td> <td class="grey-arrow">*</td> <td class="grey-arrow">*</td> <td class="grey-arrow">*</td> </tr> </table> |
||
| Darth-Cz- Profil * |
#6 · Zasláno: 12. 1. 2011, 12:50:02
A chtěl bych aby každá tabulka byla vždy celistvá a nerozdělená.
|
||
| __construct Profil |
#7 · Zasláno: 12. 1. 2011, 12:57:20
Darth-Cz-:
„Bohužel. Je to interní firemní systém a běží na intranetu.“ Živá ukážka je niečo iné. Ďalšia podstatná informácia - v akom webovom prehliadači? |
||
| Darth-Cz- Profil * |
#8 · Zasláno: 12. 1. 2011, 13:02:41
aha, je tedy potřeba dodat ještě něco? Prohlížeč - pokud možno všechny, ale nejléme firefox.
Zde zasílám ještě css vztahující se k tabulce:
table.tab-celkova{
margin: 0 auto;
width: 100%;
font-size: 11px;
min-width: 750px;
height: auto;
page-break-after:avoid;
}
.tab-celkova tr th {
font-size: 10px;
color: #656565;
padding: 5px;
border: 1px solid #cfcfcf;
background: #dedede;
-moz-border-radius: 3px;
border-radius: 3px;
page-break-after:avoid;
}
.tab-celkova tr td {
padding: 5px;
border: 1px solid #bababa;
-moz-border-radius: 3px;
border-radius: 3px;
page-break-after:avoid;
}
|
||
| Darth-Cz- Profil * |
#9 · Zasláno: 12. 1. 2011, 13:03:32
Ten page-break-after:avoid; jsem zkoušel v různých kombinacích, ale nějak nevyšla žádná :(
|
||
| Kajman_ Profil * |
#10 · Zasláno: 12. 1. 2011, 13:05:53
page-break-after:avoid by mělo být spíše u řádků ne u buněk.
U celé tabulky má smysl spíše nastavit page-break-inside:avoid |
||
| Plaváček Profil |
#11 · Zasláno: 12. 1. 2011, 13:16:07
Darth-Cz-:
Obávám se, že podpora mezi prohlížeči je nevalná (viz http://reference.sitepoint.com/css/page-break-after) a domnívám se, že současnými prostředky CSS rozumného výsledku nedosáhneš. Nejlepším řešením v tvé situaci bude využít možností PHP a tiskové sestavy generovat do PDF. |
||
| Darth-Cz- Profil * |
#12 · Zasláno: 12. 1. 2011, 13:16:44
Kajman:
ani když jsem dal page-break-inside:avoid do table.tab-celkova, tak se tabulky nevykreslí správně :( Nicméně v opeře se tabulky vykreslují správně i bez jakéhokoli page-breaku. Nicméně tam zas nejde pozadí, rámečky a další věci :( |
||
| Darth-Cz- Profil * |
#13 · Zasláno: 12. 1. 2011, 13:22:09
Plaváček:
To je zrovna informace, které jsem se obával :) |
||
| Darth-Cz- Profil * |
#14 · Zasláno: 12. 1. 2011, 14:59:06
Tak jsem to obešel. Při vytahování obsahu jsem si zjistil kolik má každá tabulka řádků, vynásobil to předpokládanou velikostí řádku a vykresluji vždy div jen do určité velikosti. Při překročení velikosti vykresluji tabulky do nového divu. V css pak pro třídu toho divu používám page-break-after: always; tento asi jediný parametr funguje :)
|
||
|
Časová prodleva: 15 let
|
|||
0