Autor Zpráva
Honza Václavík
Profil *
Jak se dá udělat v CSS to, že kdyz mám nějaky element A, na který najedu, tak chci obarvit úplně jiný element B, který není v hierarchii pod A… tj nejde udělat A:hover B …

Hierarchie může vypada takhle:
B
div
  div
    A

Přijde mi, že to nejde, není na to žádný operátor. Je možné to nějak udělat případně jinak?
Kcko
Profil
Pomocí javascriptu
juriad
Profil
v css to opravdu nejde
jenikkozak
Profil
juriad:
v css to opravdu nejde
Pokud by prvky B a div měly společného rodiče, jde to i v CSS.
juriad
Profil
jenikkozak:
OK, oni ale mají, dokonce dva: html a body

prosím, vyveď mě z omylu a ukaž nám, jak to jde
jenikkozak
Profil
<!DOCTYPE html>
<style>
#A,#B{color:blue}
#rodic:hover #A{color:red}
#rodic #A:hover{color:blue}
</style>
<div id="rodic">
<div id="A">Prvek á</div>
<div id="B">Prvek bé</div>
</div>
mimiru
Profil *
jenikkozak:
#rodic:hover #A{color:red}
#rodic #A:hover{color:blue}
- tohle mění v obou případech element A

ale on chce po najetí na #A měnit styly pro #rodič
což pokud vím v současné době pomocí css nelze
v css4 se něco chystá
jenikkozak
Profil
mimiru:
- tohle mění v obou případech element A
Ano. Při najetí na rodiče změní prvek A barvu na červenou. Při najetí na A se A přebarví „zpět“ na modrou.

Já jen přehodil A za B (oproti zakládajícímu příspěvku).
Záleží ale na vnitřních okrajích toho rodiče (a vnořených divů), zda prvek A tvoří zbytek z rodiče po odečtení B.

Chtěl jsem ukázat, že v některém případě se to udělat dá. A protože neznáme podrobnosti, nemůžeme CSS striktně vyloučit. (Ponecháme-li stranou fakt, že i ten JS by zřejmě stejně jen měnil CSS.)

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