Starší komentáře ke článku: Rozsiahle tabuľky a CSS

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Radek Šlachta

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.

Avatar

Autor komentáře: Ondrej Ivanic

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);
}

Avatar

Autor komentáře: Ondrej Ivanič

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.

Avatar

Autor komentáře: Ondrej Ivanic

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>

Avatar

Autor komentáře: Vilém Málek

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ď...

Avatar

Autor komentáře: Ondrej Ivanic

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

Avatar

Autor komentáře: Vilém Málek

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ě? ;-)

Avatar

Autor komentáře: Martin Novak

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.

Avatar

Autor komentáře: Roman Pichlík

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

Avatar

Autor komentáře: Lukáš

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.

Avatar

Autor komentáře: Martin

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 :))))

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 4.6.2003 10:15:54

Tiez som si to vsimol asi pred chvilou, ked som zacal pracovat na horozontalnom posvani

Avatar

Autor komentáře: Ondrej Ivanič

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.

Avatar

Autor komentáře: David Horák

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?

Avatar

Autor komentáře: Bořek

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? :-)

Avatar

Autor komentáře: Vita

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...

Avatar

Autor komentáře: Bořek

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... :-/

Avatar

Autor komentáře: Vita

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 ;)

Avatar

Autor komentáře: Bořek

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?!

Avatar

Autor komentáře: Bořek

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>

Avatar

Autor komentáře: Vita

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?

Avatar

Autor komentáře: Bořek

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.

Avatar

Autor komentáře: Michal Kubeček

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>).

Avatar

Autor komentáře: Vita

Datum vložení: 8.6.2003 17:08:31

Bohuzel to ale nefunguje :(

Avatar

Autor komentáře: Yuhů

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.

Avatar

Autor komentáře: Vita

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 :(

Avatar

Autor komentáře: Bořek

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.

Avatar

Autor komentáře: tino

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...

Avatar

Autor komentáře: etienne

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.

Avatar

Autor komentáře: jaro

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. ;)

Avatar

Autor komentáře: Jan Turoň

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]-->

Zpět na článek | Úvodní stránka Interval.cz