Autor Zpráva
Zadar
Profil *
Ahoj potřeboval bych menší radu. Mám menu a tagy <li>, které mám ostylované a potom mají ještě hover se změnou barvy pozadí a písma.. no a potřeboval bych aby pro jeden z těch <li> neplatil hover. dá se to nějak udělat?
Díky
Str4wberry
Profil
Ano. Buď všem kromě jednoho <li> přidat třídu a tu použít ke stylování, nebo jen tomu jednomu nastavit třídu a použít ji k odstylování (vyrušení vlastností, které mají ostatní položky).
Zadar
Profil *
Nejde třeba tomu nastavit nějakou třídu a pak použít přidávání css třídy podle atributu? něco jako input[type="submit"] {border: 5px solid red;} akorár že by to bylo záporné? teda všechny kromě těch kteřé tuhle třídu nemají
margin
Profil *
Našel jsem, protože vím, co hledat, input:not([type="file"])
Horší je to s podporou v prohlížečích http://www.quirksmode.org/css/contents.html
Živá ukázka: http://jsfiddle.net/J4j3e/

Přece jen bych to řešil tak, jak radí Str4wberry, buď třídy všem položkám menu, s výjimkou jediné položky, nebo vyrušit účinky hoveru, v mém příkladě jednoduše, ale ani v jiných případech to bude zvládnutelné.
Živá ukázka: http://jsfiddle.net/haN2z/
Zadar
Profil *
Ok, díky za pomoc
habendorf
Profil
li:hover:not([class="ne-hover"]) {background: red;}

No fuj.
Str4wberry
Profil
Co se ti na tom tolik nelíbí? Nepodpora ve starších Explorerech než 9, zbytečně ukecaný zápis selektoru oproti li:hover:not(.ne-hover) nebo snad ještě něco jiného?
habendorf
Profil
Hlavně ta nepodpora. Řešil bych to jako ty, konkrétně druhý případ.

li:hover {background: red;}
li.ne-hover:hover {background: none;}
Str4wberry
Profil
Tak v současné době ano, ale za nějakých pět deset let… by to mohlo jít normálně používat jako elegantní řešení. :–)

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: