CSS triedy

Programovacie jazyky, rady, poradňa...
goosemaster
Novice
Novice
Príspevky: 7
Registrovaný: 04 máj 2006, 22:00

CSS triedy

Príspevok od používateľa goosemaster »

Zdravim, mam nasledovny CSS zapis

.mainul li ul a, .mainul li ul a.inact {
...hodnoty pre normalnu a neaktivnu polozku
}

.mainul li ul a:hover {
...hodnoty osvieteneho linku
}

.mainul li ul a.rodic, .mainul li ul a.irodic {
..hodnoty linku, ktory je rodic, a ktory je neaktivny rodic
}

.mainul li ul a.rodic:hover, .mainul li ul a.jsrodic {
..hodnoty osvieteneho linku rodica a "javascript rodic" - tato trieda je priradena skriptom
}

menu vyzera takto
<ul class=mainul>
<li><a href=#><img src=...></a></li> // hlavne polozky
<li><a href=#><img src=...></a></li> // hlavne polozky
<li><a href=#><img src=...></a> // hlavne polozky
<ul>
<li><a href=#>obycajna polozka</a></li>
<li><a href=# class=inact>neaktivna polozka, ma sa chovat tak isto ako normalna polozka iba sa nema osvietovat pri hover, preto ina trieda</a></li>
<li><a href=# class=rodic>Rodic, osvietuje sa pri mouse over</a>
<ul class=menupopchild><li><a href=#>dalsia normalna polozka VNORENA v tagu LI rodica</a></li>
<li><a href=# class=irodic>NEAKTIVNY RODIC, ma sa chovat ako rodic len nema existovat udalost hover, preto ina trieda</a>
<ul class=menupopchild>.................</ul>
</li></ul></li></ul>
<li><a href=#><img src=...></a></li> // hlavne polozky
<li><a href=#><img src=...></a></li> // hlavne polozky
</ul>

Problem je, ze tiredy pre neaktivne polozky inact a irodic ako keby neexistovali, proste sa polozky spravaju ako normalni rodicia alebo polozky, pri prejdeni mysou sa aplikuje hover trieda a:hover a a.rodic:hover aj ked je class=inact alebo irodic. Co robim zle? Dakujem

..ak by ste chceli, stranka je na adrese http://deltaclubba.sk/testing a styl je na adrese http://deltaclubba.sk/testing/styl.php

tieda irodic funguje korektne v FF a OP, ale v IE nie :( tak isto inact nefunguje v ziadnom prehliadaci :(
Nosferatu
Medium Expert
Medium Expert
Príspevky: 127
Registrovaný: 24 máj 2005, 8:50

Príspevok od používateľa Nosferatu »

tak dopodrobna to robiť zas nemusíš.. a každý zná jaké jednuté vie byť IE :? ..

prečo miesto

.mainul li ul a.rodic, .mainul li ul a.irodic {
..hodnoty linku, ktory je rodic, a ktory je neaktivny rodic
}

nenapíšeš

a.rodic, a.irodic {
..hodnoty linku, ktory je rodic, a ktory je neaktivny rodic
}

..bo proste IE je na vraždu, nová 7 už ako tak podporuje štandardy aj korektne zobrazuje formátovanie, ale v tých starších, tam sa človek chytá za hlavu, keď mu nič nejde :cry:
goosemaster
Novice
Novice
Príspevky: 7
Registrovaný: 04 máj 2006, 22:00

Príspevok od používateľa goosemaster »

To mas pravdu, dalo mi vela prace aby som to rozchodil v IE 5+, pre verzie 5 musim pouzivat specialny styl lebo nepripocitavaju padding-top k height, pre 6 musim pouzivat IE hacky _hodnota:x; a podobne kktiny... ale musi to v nich ist, lebo IE ma furt vela ludi :( co je horsie, skusil som dat tieto triedy

Kód: Vybrať všetko

.mainul li ul a, a.inact {
toto su triedy normalneho linku, a inaktivneho, ten normalny pisem preto .mainul li ul a pretoze mu nechcem davat class, kedze 95% linkov v menu bude "normalnych", kvoli uspore HTML kodu. trieda inact opat nefunguje :(

Kód: Vybrať všetko

.mainul li ul a:hover {
tato trieda funguje korektne

Kód: Vybrať všetko

a.rodic, a.irodic {
trieda rodic funguje, ale irodic NIE

Kód: Vybrať všetko

a.rodic:hover, a.jsrodic {
rodic hover funguje, a co je pikoska, v tomto zapise nefunguje priradenie triedy jsrodic javascriptom, to naozaj nerozumiem, cize rodic nezostane "osvieteny" ked sa rozbali submenu

Uz mi z toho fakt drbka, s tym menu sa serem uz asi 2 mesiace, pls help
goosemaster
Novice
Novice
Príspevky: 7
Registrovaný: 04 máj 2006, 22:00

Príspevok od používateľa goosemaster »

Ok, tak uz som to skoro vyriesil, neviem preco, ale ked som uz daval treidu rodicom/neaktivnym rodicom/neaktivnym polozkam bolo ju treba dat aj tym "normalnym" polozkam.

a.n, a.inact { // normal a neaktivna
a.n:hover { // normal hover
a.rodic, a.irodic { // rodic a irodic

a.rodic:hover, a.jsrodic { // osvieteny rodic

a tu nastava problem, vsetko slape krasne iba ze mi IE ignoruje farbu pisma osvieteneho rodica a.rodic:hover. Ked uz js priradi triedu jsrodic(po ukazani na lubovolnu polozku submenu), farba sa zmeni na ciernu ako ma byt. Co to ma znamenat?
goosemaster
Novice
Novice
Príspevky: 7
Registrovaný: 04 máj 2006, 22:00

Príspevok od používateľa goosemaster »

hm uz som to vyriesil, len pre info bolo tam treba pridat !important...
Napísať odpoveď