Autor Zpráva
jan.zitniak
Profil *
Zdravim.

Riesim nasledovny problem: Chcel by som, aby po prejdeni mysi na li, sa zmenil vzhlad odrazky a rovnako aj jeho farebne pozadie spolu s textom (text a odrazka musia byt v rovnakom bloku). Kod na ktorym by som to chcel urobit je nasledovny:
                <ul>                  
                  <li>                  
                  <a   href='/referencie/web_stranky'>Web stránky</a>                  
                  <ul>                    
                    <li class='active'>                      
                      <a   href='/referencie/web_stranky/podzlozka1'>Podzlozka1</a>                      
                      <ul>                        
                        <li>                          
                        <a   href='/referencie/web_stranky/podzlozka1/podstranka1_1'>Podstranka1 1 </a>                        
                    </li>                      
                  </ul>                    
                  </li>                  
                </ul>                
                </li>                
                <li>                
                <a   href='/referencie/aplikacie'>Aplikácie</a>                
                </li>                
                </ul>

Dik za akykolvek napad.
Taurus
Profil
li:hover {
list-style...
color:
background:
}


Ale já bych to teda udělal přes a, to by fungovalo všude

li a:hover
panther
Profil
Taurus
Ale já bych to teda udělal přes a
já bych použil první příklad, tedy „li:hover“ a doplnil o „hover.htc“.
jan.zitniak
Profil *
2Taurus, 2panther: To je problem. Pri li:hover, ked si pozriete moj kod, tak v prvom li je zakomponovane dalsie ul/li, cize ked prejdem li:hover, tak sa zmenia aj tie vnorene a to nechcem.
Taurus
Profil
Proto třeba taky to a. Proč, panthere, radši "li:hover" s htc, když js není v podstatě potřeba? Jen se ptám.
panther
Profil
jan.zitniak
tak sa zmenia aj tie vnorene a to nechcem.
tak pro ty v druhé úrovni to CSSkem vyrušíš.
ul li li {/* styly, co ovlivní pouze položky ve druhé úrovni */}
panther
Profil
Taurus
když js není v podstatě potřeba?
když třeba chci, aby zůstala vyznačená ta položka v první úrovni i v době, kdy jsem v rozbalené druhé úrovni.
jan.zitniak
Profil *
Lenze ja chcem, aby sa vnorene li zmenilo len vtedy, ked prejdem nad nim myskou a nie vtedy, ked prejdem myskou nad nadradenym li.
panther
Profil
jan.zitniak
li {background: #fff}
li:hover {background: red;}
li li {background: #000}
li li:hover {background: green;}

položky první úrovně budou bílé. Při hoveru bude červená, rozbalí se submenu. Položky submenu budou černé, při hoveru budou zelené. Barvy si uprav podle sebe.

Než zase napíšeš, zkus si, co to dělá, trochu si s tím pohraj - jistě dojdeš přesně k výsledku, jaký očekáváš.
jan.zitniak
Profil *
2panther: Dakujem za priklad. Ak mozem este otazka:

Pri tvojom priklade ak prejdem napr. cez prvu polozku li, tak mi zafarbi pozadie odrazky podurovne li. Ako to obmedzit len na jeden riadok?
jan.zitniak
Profil *
2panther: Resp. aby som to spravne vysvetlil, ze farba li:hover prejde aj do druheho riadka namiesto toho, aby ostala v prvom. Nejak mi nedochadza, ako to zrusit :-).
Taurus
Profil
panther
když třeba chci, aby zůstala vyznačená ta položka v první úrovni i v době, kdy jsem v rozbalené druhé úrovni.
Aha, vida, toto jsem zapomněl. :-) Stejně mi přijde nejlepší dle požadavků jan.zitniaka hodit tam a, protože zmíněný případ řešit nechce. Nemusí deklarovat ani tolik řádků. Zvýrazní se prostě jen to, kde je myš.
jan.zitniak
Profil *
2Taurus: Ak a:hover, tak ako zahrnut do vyberu odrazky?
panther
Profil
jan.zitniak
Resp. aby som to spravne vysvetlil, ze farba li:hover prejde aj do druheho riadka namiesto toho, aby ostala v prvom. Nejak mi nedochadza, ako to zrusit :-).
začínám se v tom trochu ztrácet. Odkaž na živou ukázku a na ní popiš, co to má dělat. Co to dělá, uvidím sám.
Taurus
Profil
jan.zitniak
Potřebuješ nějak rozevírat menu nebo tak? Jestli ne, tak nemusíš nic, jen do css připsat mezi li:hover zmíněné a - tedy "li a:hover {...}" Odkaz se podle tvého kódu rozprostírá po celém li a zároveň se nezanořuje do dalšího seznamu. A to chceme.
jan.zitniak
Profil *
2panther: Pozri si ukazku na tejto linke http://www.lacneubytovanie.sk/ukazka.png. Na zeleno sa zafarbi li:hover s odrazkou (bulletom :-). Kod, ktory musim dodrzat je hned ten, ktory som uvadzal v prvom prispevku.
jan.zitniak
Profil *
Ok, podarilo sa nasledovne riesenie:
    ul {
      list-style-position: inside;
      list-style-image: url("li_plus.png");
    }     

    li a {
      display: block;         
    }
 
    li a:hover {    
      background: red;
      list-style-image: url("li_plus_black.png");
    }

len vo Firefoxe je to rozbite v tom zmysle, ze na v jednom riadku mam bullet a v dalsom text. V IEcku je to ok.
Taurus
Profil
Dáváš tečku seznamu, ne položce seznamu, což je chyba. Změň první řádek ul na li. Druhý řádek jsem smazal a začalo mi fungovat.
jan.zitniak
Profil *
2Taurus: Myslis nieco taketo?:

    li {
      list-style-image: url("li_plus.png");
    }     

    li a {
      display: block;         
    }
 
    li a:hover {    
      background: red;
      list-style-image: url("li_plus_black.png");
    }


lenze v tomto pripade do boxu nedava bullet.
Taurus
Profil
Ano, ale mě to funguje. Jen podotýkám, že nemám obrázek k dispozici, takže pro mě jakoby list-style-image neplatí.
jan.zitniak
Profil *
S obrázkom by to nešlo. Správne riešenie je nasledovné (funguje pod IE6, Firefox, Opera):
    li {
      list-style-type: none;      
    }
    
    li a {    
      list-style-position: inside;  
      display: list-item;
      list-style-image: url("li_plus.png");       
    }
 
    li a:hover {    
      background: red;
      list-style-image: url("li_plus_black.png");
    }


Ďakujem Vám chalani za Vaše odpovede a čas, ktorý ste mi venovali.

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