Autor | Zpráva | ||
---|---|---|---|
gaminn Profil * |
#1 · Zasláno: 7. 9. 2006, 18:05:42
Zdravím,
potýkám se s nemožností nastavit velikost buněk složitější tabulky, jako je tato: <table cellpadding="0" cellspacing="0" border="1" width="100%"> <tr> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> <td style="width: 7.14%;"></td> </tr> <tr><td colspan="14">něco něco</td></tr> <tr><td colspan="14"></td></tr> <tr><td colspan="14">něco něco</td></tr> <tr><td colspan="14">něco něco něco něco něco něco</td></tr> <tr> <td colspan="1">10:10</td> <td colspan="5">něco něco něco něco</td> <td colspan="2">x</td> <td colspan="5">něco něco</td> <td colspan="1"> </td> </tr> </table> Potřebuji, aby každá jedna buňka měla stejnou velikost (zde mám 14 buněk do řádku, takže to vychází na nějakých 7.14%, buňka s colspan = 5 bude mít šířku 5*7.14%). Toto řešení, jak mám uvedeno výše, funguje, bohužel je ale vidět, např. pokud má celá tabulka nějaké ohraničení, nežádoucí bílý pruh nahoře (tvořený těmi 14 buňkami v prvním řádku, kterými nastavuji šířku každé buňky). Celé je to dále komplikováno tím, že tabulka může mít různý pčoet buněk do řádku (je generována pomocí PHP), takže nemůžu do externího stylu napsat pevnou šířku (do stylů přímo ve zdrojovém kódu stránky by se to dalo vypisovat, ale pokud možno, styly přímo do zdrojáku nechci). Dále bych nechtěl pomocí PHP přidělit šířku nějakému řádku, abych pak nadále při generování tabulky testoval, zda už je šířka někde vypsána, abych ji nemusel vypisovat znovu a zbytečně tak prodlužovat zdrojový kód. Jednoduše chci v nějakém pevně daném místě tabulky tuto šířku definovat a dále se jí nezabývat (tak, jak to je ve zdrojáku výše... až na ten bílý pruh, o kterém jsem mluvil). |
||
tiso Profil |
#2 · Zasláno: 7. 9. 2006, 18:14:30
Čo bude v tej tabuľke?
|
||
gaminn Profil * |
#3 · Zasláno: 7. 9. 2006, 18:19:31
tiso
(To je nepodstatné, ne?) Bude naplněná inline elementy, které budou různě široké, ale je podstatné, pokud se všechny elementy do své buňky vejdou, aby všechny jednoduché buňky měly velikost 100/pocet_bunek_na_radek% (ekvivalentně s tím buňky s colspan = x). |
||
tiso Profil |
#4 · Zasláno: 7. 9. 2006, 18:53:21
Tak si daj do hlavičky:
<style> ...a šírku si generuj podľa počtu buniek v tabuľke... |
||
gaminn Profil * |
#5 · Zasláno: 7. 9. 2006, 19:02:31
tiso
Psal jsem, že takové řešení pokud možno nechci. Je to divné přání, ale nebylo by přesto možné najít jiné řešení? PS: Proč je ta tabulka divná? ;) |
||
tiso Profil |
#6 · Zasláno: 7. 9. 2006, 19:04:12 · Upravil/a: tiso
Keď sa brániš jednoduchým riešeniam tak si lám hlavu so zložitejšími sám...
|
||
gaminn Profil * |
#7 · Zasláno: 7. 9. 2006, 19:07:14
tiso
Já tu nikoho do pomoci nenutím, já se ptám, zda někdo nezná jiné řešení. Není potřeba ihned tak uštěpačně... (nebo máte na Slovensku po včerejším večeru všichni špatnou náladu :D (jenom vtip)). |
||
tiso Profil |
#8 · Zasláno: 7. 9. 2006, 19:49:54
Nesledujem fotbal, takže to ma vôbec netrápi... Mal som bad day at work... A nechápem prečo to nechceš tak ako som Ti napísal, pravdupovediac som to celé ani poriadne nečítal... Iná možnosť je do externého css natvrdo zadefinovať pár tried pre používaný počet buniek na riadok... To tiež nie je schodné riešenie?
... .table14{width: 7.14%;} .table10{width: 10%;} ... |
||
gaminn Profil * |
#9 · Zasláno: 7. 9. 2006, 20:15:22
tiso
Mal som bad day at work Jj, je to znát...;) Zítra to bude určitě lepší;) Tohle řešení bude vlastně úplně nejlepší, ve vlastním kódu nebude jediná vlastnost css. Díky, já bych určitě vymýšlel nějaké složitosti. |
||
gaminn Profil * |
#10 · Zasláno: 7. 9. 2006, 20:32:21
Asi jsem otravný a neodbytný, ale pořád se potýkám s tím problémem, že musím mít v tabulce jeden řádek, ve kterém jsou rozepsány všechny úplně buňky (žádný colspan). Pokud tento řádek dám pryč, celá tabulka se zase rozhodí. Takže úplně znova:
<table cellpadding="0" cellspacing="0" border="1" width="100%"> <tr><td colspan="14">něco něco</td></tr> <tr><td colspan="14"></td></tr> <tr><td colspan="14">něco něco</td></tr> <tr><td colspan="14">něco něco něco něco něco něco</td></tr> <tr> <td colspan="1">10:10</td> <td colspan="5">něco něco něco něco</td> <td colspan="2">x</td> <td colspan="5">něco něco</td> <td colspan="1"> </td> </tr> </table> Lze docílit u takové tabulky, aby na každou buňku padlo stejně místa s ohledem na to, jaký má colspan (colspan = 2 bude dvakrát menší než colspan = 4)? |
||
Bubák Profil |
#11 · Zasláno: 8. 9. 2006, 11:52:52
Toto řešení, jak mám uvedeno výše, funguje, bohužel je ale vidět
Tak ho zneviditelníme ;-) <tr style="position: absolute; visibility: hidden;"> |
||
gaminn Profil * |
#12 · Zasláno: 8. 9. 2006, 12:06:18
Bubák
No... já jsem zkoušel ten řádek skrýt s display:none; . Jak je možné, že toto funguje? Po visibility by přece mělo zůstat volné místo, takže bych měl ten bílý pruh vidět tak jako tak... |
||
gaminn Profil * |
#13 · Zasláno: 8. 9. 2006, 12:08:45
Bubák
Jo, jasně, ono tam je ještě position:absolute... ok. Díky moc, tohle funguje 100%. |
||
gaminn Profil * |
#14 · Zasláno: 8. 9. 2006, 12:14:23
Bubák
Že já to nevyzkouším radši ve všech prohlížečích hned. To funguje jen v IE, Firefox opět na zmizení řádku reaguje rozhozením tabulky. |
||
tiso Profil |
#15 · Zasláno: 8. 9. 2006, 13:15:28
Druhá možnosť je pohrať sa s výškou toho vrchného pruhu, farbou pozadia...
|
||
Plaváček Profil |
#16 · Zasláno: 8. 9. 2006, 14:19:33
gaminn
Já tomu nerozumím, ale jestli jsem to dobře pochopil, pak chceš něco takhle podobného http://klient.plavacek.net/tabulka.html ? Ten první řádek s nastavením šířek pochopitelně musíš ponechat, ale můžeš ho učinit neviditelným, viz zdrojový kód. |
||
LuckyT Profil |
#17 · Zasláno: 8. 9. 2006, 14:59:22
gaminn
Stačí použít style="table-layout: fixed" Funguje to spolehlivě ve FF, Opere a IE6. Nevím jak starší verze IE. |
||
gaminn Profil * |
#18 · Zasláno: 9. 9. 2006, 11:14:03
tiso
To mě taky napadlo, jenže ta tabulka (generováná jedním skriptem) může mít různé barvy pozadí, asi by to nebylo nejlepší. Plaváček Ano, přesně o to mi šlo, děkuji. Musím ale odpovědět stejně, jako tisovi: Nějak tak jsem si s tabulkou zkoušel pohrát, spíš než neviditelný bych ten řádek nazýval zamaskovaný. Já potřebuji, aby ten řádek opravdu úplně zmizel (třeba kvůli ráměečku, který má tabulka kolem dokola (rámečky kolem buněk nemám)). LuckyT Nechci to zakřiknout, ale přesně tohle jsem zřejmě hledal. Díky Problém je tedy asi vyřešen, všem moc díky za rady. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0