Autor Zpráva
xciza
Profil
Ahoj,
potřeboval bych na stránkách udělat změnu pozadí u jednoho elementu při najetí myší na jiný element. Lze toho docílit pomocí CSS3? případně jak jinak?

Díky
aDAm
Profil
Řek bych že pouze tak, pokud bude ten element co se má změnit uvnitř toho elementu který má změnu vyvolat. V opačném případě leda pomocí JS
Chamurappi
Profil
Reaguji na xcizu:
Pokud je ten element, na který se najíždí, v DOMu před tím druhým elementem, nebo v něm, tak toho pomocí CSS 2 docílit jde. Konkrétně selektorem potomka (mezera, podporované odjakživa vším) nebo selektorem sourozence (plus nebo tilda, podporované od Exploreru 7).
xciza
Profil
no konretne mam tag <img> a pod nim <divv> u kterého to potrebuju zmenit po najetí na <img>
Chamurappi
Profil
Reaguji na xcizu:
img:hover + div { background: peachpuff }
xciza
Profil
Tak nejak to neemuzu rozchodit... Dám sem kod u ktereho to potrebuji.. je to v html5:
  <img class="ref_hover"src="cestaKObrazku" />
            <figure>
                <img src="obrazek" />
                <figcaption>popis</figcaption>
            </figure>

A potrebuji aby pri najeti na <img class="ref_hover"> se zmenilo pozadi <figcaption>
xROAL
Profil
xciza:
.ref_hover:hover + figure figcaption {...}
Chamurappi
Profil
Reaguji na xcizu:
je to v html5
Prohlížeče nikdy nerozlišují verze.
Proč používáš <figure>? Co z toho návštěvníci mají, krom potíží s kompatibilitou u uživatelů starších Explorerů?

Selektor sourozence znáš, selektor potomka také… tak si to postav dohromady.
xciza
Profil
xROAL:
díky, mel jsem tam neco navíc, ale uz to jde.

Chamurappi:
Používám ho protože ti co pro ne web dělám preferují html
Chamurappi
Profil
Reaguji na xcizu:
Používám ho protože ti co pro ne web dělám preferují html
Tomu nějak nerozumím. Já ti přeci neradil, abys nepoužíval HTML.
xciza
Profil
vypadla mi tam 5. čili tam mělo byt že preferuji HTML5
Chamurappi
Profil
Reaguji na xcizu:
V HTML 5 není povinné používat špatně podporované elementy.
xciza
Profil
Však já vim, ale to už bych nemohl používat skoro vše. Včetně nav
Chamurappi
Profil
Reaguji na xcizu:
A to by něčemu vadilo? K čemu je uživatelům <nav>?
xciza
Profil
Ještě dotaz: jak případně zmenit pozadi u elementu který je nad vnoreným a na nej najedu mysí? cily opacny pripad nez puvodne...
xciza
Profil
Ahoj,
predelal jsem ten HTML5 kod a nejak nemuzu docílit toho aby ten to meneni pozadi fungovalo i ted. Prosím co mám špatně?
     <div class="ref_image">
            <a href="#">
                <img class="ref_hover" src="img" alt="Hover efekt"/>
                <img src="img" alt="img"/>
                <p>popis</p>
            </a>
        </div>
CSS:
.ref_hover:hover + p{
    background-color: #F6BD0C;
}
margin
Profil *
Na 4. řádku máš obrázek, ale CSS kódu jsi ho opomenul.
Chamurappi
Profil
Reaguji na xcizu:
.ref_hover:hover + p
Tím selektorem zaměřuješ odstavec, který je těsně za elementem s třídou ref_hover. Pokud nechceš ihned následujícího sourozence, ale libovolného následujícího, nahraď plus tildou (znakem ~).

jak případně zmenit pozadi u elementu který je nad vnoreným a na nej najedu mysí?
Nijak. Selektory fungují směrem dolů a dovnitř v DOMu. Což teda neznamená, že věci, které jsou dole či uvnitř, nemůžeš vizuálně napozicovat nahoru nebo ven.
xciza
Profil
Čili opačně to proste neudělám? že po najetí na p se zmení první <img>?
Jan Kupka
Profil
xciza:
Čistě pomocí CSS ne, jedině pomocí Javascriptu.
xciza
Profil
Tak ten neovladam vubec. Nebyla by mensi pomoc ;) Díky

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: