Starší komentáře ke článku: Rozsiahle tabuľky a CSS
Zpět na článek | Úvodní stránka Interval.cz
Datum vložení: 4.6.2003 0:36:51
Existuje podobně jednoduché řešení v případě, když potřebuju "podržet" 1. sloupec s popisky řádků? Existuje vůbec nějaké řešení? Dík za rady.
Datum vložení: 4.6.2003 0:42:27
Neskušal som, je to trošku komplikovanejšie a obávam sa že je to možné len pomcou js. Pre prvý stĺpec je potrebné pridať tag /col/ v id a pomocou expression nastaviť pozíciu left:
#scroll #first-col {
left: expression(this.offsetParent.scrollLeft);
}
Datum vložení: 4.6.2003 10:42:43
cez ten col to určite nepôjde.
Skús toto:
#scroll {
width: 15em;
overflow: auto;
height: expression(this.childNodes[0].offsetHeight + 20);
}
#scroll2 th {
position: relative;
background-color: inherit;
color: inherit;
}
tych "20" je tam pre scrollbar, možno najdem lepšiu cestu ako použitie bulharskej konštanty. Prípadne možeš ešte pomocou exprssion nastaviť v "scroll td" vlastnosť left.
Datum vložení: 4.6.2003 0:47:50
Zatiaľ si ukážku mžete pozrieť na adrese:
<a href='http://www.zlty-pes.sk/table/' target='_blank'>http://www.zlty-pes.sk/table/</a>
Datum vložení: 4.6.2003 8:05:19
Nerozumím, mně odkaz na příklad při zařazování článku fungoval a funguje i teď...
Datum vložení: 4.6.2003 8:17:52
V IE možno, su tam opačné lomítka :)
/podklady<B>\</B>ivanic<B>\</B>520<B>\</B>priklad.htm
Slušný browser spravý takýto okaz:
/podklady%5Civanic%5C520%5Cpriklad.htm
Datum vložení: 4.6.2003 8:21:32
Mea culpa, mea culpa, mea maxima culpa! Postačí jako polehčující okolnost, že se mi něco takového stalo poprvé v životě? ;-)
Datum vložení: 4.6.2003 8:18:20
Jsou tam spatne lomitka, viz. a href='podklady\ivanic\520\priklad.htm'. Mely by byt pouzity "/". IE automaticky preklada spatne lomitka na spravna, neni tedy v tomto prohlizeci poznat chyba.
Datum vložení: 4.6.2003 9:16:49
Ondro, pekne reseni. Nedavno jsem resil neco podobneho, moje konstrukce nebyla sice tak elegantni jako tva nicmene taky fungovala. Slo o tabulku, ktera mela klasicky hlavicky v ni byla bunka(colspan pres vsechny sloupce) a v bunce byl div(nastaveni scrollovani) a teprve v divu jsem vytvoril dalsi tabulku, ktera predstavovala jiz samotne sloupce a radky. Cili jsem oddelil hlavicku od telicka tim, ze jsem telo pojal jako novou tabulku(se stejnym poctem sloupcu). Tvoje reseni je, ale cistsi takze diky
Datum vložení: 4.6.2003 11:22:07
Ja myslim, ze tvoje reseni neni spatny. Neco podobnyho bychudelal spis, protoze je to podle me jednodussi a ucelnejsi. Kazdopadne napad to neni spatnej.
Datum vložení: 4.6.2003 9:59:46
Reseni je to pekny ale mam jen poznamku k syntaxi. V table body je vzdy u prvniho sloupce ukoncovaci tag TH misto TD :))))
Datum vložení: 4.6.2003 10:15:54
Tiez som si to vsimol asi pred chvilou, ked som zacal pracovat na horozontalnom posvani
Datum vložení: 4.6.2003 10:37:07
V súbore ietable je chyba:
naniesto:
top: expression(this.offsetParent.scrollTop);
má byť:
top: expression(this.offsetParent.offsetTop);
záhlavie tabuľky ostávalo stále na svojom mieste aj keď sa posúvala celá stránka.
Datum vložení: 4.6.2003 11:48:33
Dalo by se k tomu prida, aby v pripade, ze bude mit tabulka vice sloupcu se cela (vcetne zahlavi) posunovala zleva doprava?
Datum vložení: 4.6.2003 20:49:24
Já používám daleko jednodušší způsob. Do atributu TITLE v elementu TR dám nadpis sloupců, např.: "JMÉNO, VĚK, POVOLÁNÍ".
Je to validní, přístupné a použitelné ve VŠECH prohlížečích. Kdo je proti? :-)
Datum vložení: 5.6.2003 0:12:41
Hm pekne, ale nepouzitelne. Uvedomte si ze mate tabulku s osmi sloupci, popisek vam bude tvorit cca 60 znaku - a coz je pri 500 sloupcich dalsich 30k navic...
Datum vložení: 5.6.2003 8:17:48
Heh? :-o Tak ta tabulka co píšete je opravdu obrovská, takže to rozhodně není správný příklad (IMHO takové tabulky mají samy o sobě několik desítek či stovek KB, takže i těch 30 KB by se ztratilo - jako že samo o sobě těch 30 KB je velmi malá hodnota).
Pro Vás nepoužitelné, pro mě výborné. Nemusím se zabývat žádným javascriptem ani chybami v CSS, alternativními prohlížeči atd., protože to prostě funguje všude.
A hlavně: JE TO PLNĚ PŘÍSTUPNÉ! (tj. i pro nevidomé, pro hlasový výstup atd.). Pro takové lidi je nějakých 30 KB naprosto nedůležitých, hlavně že pochopí, co že to v tomhle řádku tabulky vlastně je. Pokud TITLE u TR nepoužijete (a kór u velké tabulky), je to bych řekl hrubá chyba!
Kdy už se konečně bude používat prostředků, které jsou pro to určeny už od HTML4, a ne nějakých chyb CSS nebo javascriptů!
Zrovna od Vás, jehož názory čtu často a často o nich přemýšlím mě tenhle názor fakt dostal... :-/
Datum vložení: 5.6.2003 9:33:53
Plne souhlasim pane, kdyz uz se konecne bude pouzivat prostredku ktere jsou urceny uz od html 4.01. Takze kick vas nesmyslny title ktery tam nema co delat, a pouzijte id na bunkach th a nasledne by td melo byt atribut headers='idsloupcezapsanyvth'. Stejne tak byste pravdepodobne nemel opomenout tag caption a summary. Pro zbytek navrhuji <a href='http://www.w3.org/TR/html4/struct/tables.html#h-11.4' target='_blank'>http://www.w3.org/TR/html4/struct/tables.html#h-11.4</a>
Je potreba si uvedomit ze to je ale reseni pro tabulku do cca 20 radku, pochybuju ze by slepce zajimalo 200 radku tabulky atd. Jde proste o to ze vam velikost neumerne vzroste (s tim headers urcite) - a pak je zase otazka zda je dobre dat na pristupnost a zdvojnasobit dobu nacitani za cenu pristupnosti pro slepce (pricemz pochybuju ze by ho zajimal udaje o zalidnenosti angoly kdyz zije v zimbabwe).
Jak jsem rekl je to reseni - me reseni je proste jine. Dve tabulky, zadny javascript - koneckoncu uvedomte si ze thead tr muzete skryt pomoci display: none a mate taktez vyreseno.
Navrh stranek je vzdy dilema... je evidentni ze clovek co dela staticke stranky se na vec bude divat jinak nez ten kdo dela dynamicke... :)
A btw kazda diskuze je od toho aby se diskutovalo, i spatny nazor je k necemu dobry (at uz je cikoliv me nevyjimaje). Nejvic zkusenosti tak jako tak clovek posbira kdyz jsou dva zcela rozdilne nazory :)
To jen tak na okraj ;)
Datum vložení: 5.6.2003 10:59:09
Já rád diskutuju :-), akorát jsem se vzhledem k Vašim předchozím výrokům, které byly často rozumné, opravdu velmi "podivil".
1) CAPTION i SUMMARY používám samozřejmě taky
2) To co píšete, atributy SCOPE a HEADERS (ABBR, to už si myslím že by bylo spíše matoucí než co jinýho) je sice krásné, ale atribut TITLE je I vizuální (bublinková nápověda), což je jeho výhoda, a pokud vím, tak o tom byl celý tento článek, jak to udělat vizuálně (a TITLE je vizuální, ale i nevizuální). A pokud jde o délku, právě řešení s atributem HEADERS by prodloužilo kód ještě nejméně trojnásobně, u SCOPE to samozřejmě neplatí. Takže řešení je atribut SCOPE i atribut TITLE.
3) Nevím proč píšete, že atribut TITLE nemá u TR co dělat, to nechápu?!
Datum vložení: 5.6.2003 11:21:45
Add_3): entita %attrs; u TR
<a href='http://interval.cz/clanek.asp?id=1715' target='_blank'>http://interval.cz/clanek.asp?id=1715</a>
<a href='http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-strict.dtd' target='_blank'>http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-strict.dtd</a>
Datum vložení: 5.6.2003 12:04:40
Ale pane, ja netvrdim ze je to v rozporu s normou. Je evidentni ze title je povoleny - ja pouze tvrdim ze je blbost kvuli title davat na kazdy radek tr title='sloupec 1, sloupec 2' - protoze ten title je vsude stejny. Neni pak daleko snazsi to dat rovnou na cele platne tbody?
A kdyz se vam to po sto radcich zmeni tak tam proste date druhe tbody s jinym titlem, ne?
Datum vložení: 5.6.2003 12:48:46
To "pane" mě už podruhé teda fakt dostalo :-) Zvlášť když jsem možná mladší než Vy :-) Ale budiž...
To předtím nebylo řečeno - bylo řečeno, že title tam nemá co dělat. O jiných možnostech jde samozřejmě uvažovat, a tento Váš návrh je opět velice rozumný ;-)
IMHO např. to CAPTION používám s display:none, protože ve vizuálních prohlížečích to před tabulkou teda mít nechci.
Datum vložení: 6.6.2003 0:04:12
Dáte-li atribut title na buňky, je to logické ale nepraktické. Dáte-li ho na celou tabulku, je to nelogické ale pratické. Dávat atribut title, popisující význam jednotlivých sloupců, jednotlivým řádkům tabulky, je nelogické a nepraktické. Osobně bych dal přednost řešení, které je logické i praktické: dát ho na sloupce (je to jeden z mála atributů, které lze použít i u elementu <U>col</U>).
Datum vložení: 8.6.2003 17:08:31
Bohuzel to ale nefunguje :(
Datum vložení: 4.6.2003 21:24:41
Moje snaha dospěla sem:
<a href='http://www.jakpsatweb.cz/priklady/table_zahlavi_fixed.htm' target='_blank'>http://www.jakpsatweb.cz/priklady/table_zahlavi_fixed.htm</a>
není to sice použitelné, ale snad to někoho bude inspirovat z jiného úhlu. Funguje to jenom v IE6.
Datum vložení: 5.6.2003 0:15:53
Co takhle se na to vybodnout, udelat jednu tabulku jako nadpis a druhou rolovaci? Pri stejnych sirkach tabulek a pri stejnych pomerech sloupcu ti to sedne, kdyztak se to da doresit javascriptem.
Skoda ze se proste neda definovat vysku tbody a scroll :(
Datum vložení: 5.6.2003 8:25:41
Tak spíš tenhle "pokus" by byl naprosto nepoužitelný, protože by popřel základy přístupnosti. Fakt nechápu, že někdo mluví z jedné strany o XHTML+CSS a kdesi cosi o použitelnosti či přístupnosti, a z druhé může dát na web takovou prasárnu jako dvě tabulky, kde jedna je nadpis té druhé. Fuj.
Datum vložení: 6.6.2003 11:18:01
len tak mimochodom, pouzivam operu 6 tak som sa chvilku cudoval o com sa tu diskutuje...
Datum vložení: 27.10.2003 18:45:57
Tino toto bol gol, uplne si im vytrel zrak :-))
Krasny komentar !!! Davam 1 000 000 bodov.
Datum vložení: 12.3.2004 15:48:19
Osobne preferujem pouzivat na vypis dlhych tabuliek strankovanie. Teda napisat si nejaky ten skriptik v PHP,dat na formular nejake tie posuvniky. je to mozno pracnejsie ale radost s funkcneho algoritmu to vyvazi. ;)
Datum vložení: 22.5.2007 10:39:58
#scroll, #scroll tbody { width: 200px; overflow: -moz-scrollbars-vertical; overflow-y: auto; } #scroll thead { overflow: -moz-scrollbars-vertical; height: 20px; } #scroll table {width: 100%;} #scroll tbody {height: 150px;} #scroll thead td {background-color: #DDF;} #scroll tbody tr {height: auto;} #scroll td {border: black 1px solid;} </style> <!--[if IE]> <style> #scroll table thead tr {position: relative;} #scroll {height: 150px;} </style> <![endif]-->