Autor Zpráva
inetMark
Profil
Toto je pokracovanie z diskusie: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=54 566&page=-1
Kedze sa uz nejedna o JavaScript tak pisem sem. Uzivatel peta mi poradil, ako mozem menit farby bunky pri najazdu mysou pomocou CSS stylov:
table tr td:hover {background:#f00;}
Funguje to fajn, ale problem mam s tym, ze mi to plati pre vsetky tabulky. Stranka sa mi sklada z 4 divov a zmenu farby chcem aplikovat len na dvoch strankach na jednom dive. Ten div sa vola Stred2. Ak by som to definoval len jemu, tak to samozrejme uz nebude robit na vsetkych tabulkach na stranke, ale len v tabulkach v tom dive. Problem je, ze ja chcem specifikovat konkretne 2 tabulky, pre ktore sa to ma robit.
Da sa toto nejak vyriesit bez toho aby som ich musel dat do divu a prirabat si tak problemy (kedze s tym nemam skusenosti)?

BTW: Dost uzivatelov pouziva IE, kde uvedeny sposob ako vravi peta a ako som aj odskusal nefunguje. Bavili sme sa o subore csshover.htc, avsak neviem ako ho pouzit (vraj je to pre IE)
http://www.xs4all.nl/~peterned/htc/csshover.htc

Dakujem za pomoc.
peta
Profil
navod je primo v tom souboru.
Pro IE potrebujes pridat uplne na zacatek CSS radek z prave zminovaneho HTC souboru:
"howto: "
body { behavior:url("csshover.htc"); }
Ktery ti ten JS prida do pozadi stranky. Pro firefox je obdobny zpusob, prikaz se jmenuje jinak, soubory tusim XBL

tj., postup je takovy:
adresar/index.htm
adresar/csshover.htc
adresar/style.css
- style.css -
body {behavior:url("csshover.htc");}
table tr td:hover {background:#f00;}
- index.htm -
<BODY>
<TABLE>
<TR>
<TD>aaa</TD>
<TD>bbb</TD>
</TR>
</TABLE>
</BODY>
- csshover.htc -
http://www.xs4all.nl/~peterned/htc/csshover.htc

- vyhoda je, ze pak hover muzes pouzit pro cokoliv
- nevyhoda je, ze behaviour je CSS prikaz pouze pro IE a ostatni exoticke prohlizece, ktere hover nemaji jej mit ani nebudou.

Tj., dalsi reseni je pouzit tag SCRIPT a nalinkovat si nejakou funkci onmouseover. bud jako hover nebo jako funkci podle class nebo nejak jinak.

PS. nejedna se o zadnou novinku, je to vec znama nekolik let. Ten HTC se vypracoval teda az v posledni dobe. Vetsina starsich scriptu ma jenake bugy.
Jiny zpusob pro IE je treba expression
http://www.volny.cz/peter.mlich/www.htm#mssub8
- menu editor
inetMark
Profil
No ok, dakujem. Skusim to.
Takze si mam vybrat ci to bude fungovat v IE a inde nie alebo ze to bude fungovat vo Firefoxe, Opere atd ale v IE nie?
Dost tazka volba, ale na IE asi potom kaslem, dolezitejsia pre mna je kompatibilita s Firefoxom a Operou. Uz tie narocne veci pisal (s tym class atd... tak to je na mna moc :) )
kekso
Profil *
Ja to pouzivam zvyraznenie riadku v JavaScripte - v podstate vyzera, ze je to vlastne tiez posielane cez styl ale kod vyzera trochu inak.
http://www.kasman.sk/index.php?id_clanku=656

Skusal som to v IE, Firefoxe aj v Opera a funguje to spravne. Blbne to az vtedy (v Opere), ked pouzijem spolu s tym zobrazovanie vlastnej popisky. (http://www.kasman.sk/index.php?id_clanku=819).
peta
Profil
inetMark
1) FF, O funguje hover normalne
2) IE je treba pouzit javascript (csshover.htc)
Jen ti oznamuji, ze FF ma rozdilne CSS/JS prikazy a ze behaviour hlasi jako chybu. Coz pro tebe ale nema vyznam, protoze [1]. Ale mohlo by te napadnout pridat tam dalsi JS, treba barevny prechod a pak ti tento JS pojede v IE, ale FF barevny prechod na text nema jako funkci, takze v nem uz to nepojede. Musel bys pridat prikaz na pridani XBL souboru.

Ted nevim, jestli to chapes...
Zkusim to jinak.
Mas papirovou krabici. Abys ji protahl rezackou (protoze tam ma proste kolecka, kterymi si to skrci, posune a tak), tak s ni nic nemusis delat. Abys ji protahl klicovou vetracim otvorem, musis ji skrcit. - pripad hoveru.
A kdyz bys chtel, aby se pri protahovani jeste obarvila, tak do vetraci sachty i do rezacky musis namontovat stetec.
peta
Profil
kekso
zkusil bych menit spise className nez barvu.
Jinak je to presne ten pripad, ktery bude fungovat vsude, kde je JS. Coz je spolehlivejsi nez pres behaviour.

Udelal bych script, ktery to prida automaticky pro kazdy radek TR v TBODY kazde tabulky. Nebo jen tabulky s urcitou class.
Vysledkem tve graficke upravy je narust html kodu. A kdyz mas pak tech stranek 10, tak na kazde mas neco navic. Vyvedenim do CSS je to jen jednou. vyvedenim do externiho SCRIPT a zavolani window.onload tu spec. funkci, ktrea si to sama doplni... je to take jen jednou.

Nicmene je to reseni.

Priklad takove funkce:
http://www.volny.cz/peter.mlich/dobr3d.htm
prevede ALT z IMG do SPANU
inetMark
Profil
Nebol som tu nejaky cas a tak sa opsravedlnujem. Nakolko som vazne vecí neznalý, tak som sa rozhodol pouzit len zmenu pozadia pomocou CSS.
#prava table tr td:hover {background:#ffffff;}
Mam vsak taky problem, ze stranky mam skladane z divov a div na pravej strane sa vola #prava. Avsak pre rozne stranky chcem definovat pre rozne tabulky iny styl (teda niekde oznacit riadok a niekde bunku). Toto mi problem robi len v tom, ze viem zmenit len vsetky naraz a nie jednotlivo. Nenapada ma ine riesenie ako kazdu tabulky zaradit do specifickeho divu. Chcem vsak aby tento div mal left,top,right,bottom presne take ako tabulka a to neviem ako zabezpecit. totiz nechcema by mi ten div vycnieval bokom.

EDIT: Ok stacilo nezadat suradnice. Fajn.

EDIT2: A ked chcem oznacit cely riadok ako na to?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0