Autor Zpráva
medved
Profil
Dobrý den,
poradíte mi,prosím, jak zjistit původní velikost obrázku, po kliknutí se zvětší na 100% a po odjetí myši chci, aby se vrátil na původní velikost, jenže ta je jiná pro portrait a jiná pro landscape.
lionel messi
Profil
medved:

Zdravím,

otázka je koncipovaná dosť všeobecne, nie som si celkom istý, či chápem správne to, čo myslíš pod pojmom pôvodná veľkosť.

Ak by šlo o zväčšenie obrázku pri akomkoľvek nájdení myšou (bez kliknutia), riešil by som to zrejme v čistom CSS, napr. pomocou selektoru :hover. Ak chceš pri nájdení myšou zobraziť obrázok vo veľkosti, v akej bol nahraný na server, nastav mu width: auto namiesto 100%. Odporúčam v CSS zadávať vždy len jeden rozmer obrázka.

Živá ukázka

Tvojmu zadaniu sa podobá niečo takéto: Živá ukázka
lionel messi
Profil
Pozerám, že môj kód z [#2] nie je ktoviečo — ak kliknem na už zväčšený obrázok, zmenší sa. Ak odídem myšou z nezväčšeného obrázku, zväčší sa. To medved evidentne nechce. Takto to vyzerá, keď programujem vtedy, keď by som nemal… Ospravedlňujem sa za nekvalitnú prácu.

Lepší kód, ktorý rieši oba nedostatky.
medved
Profil
Nooo, já na to šel takto:

<style type="text/css">
@media (orientation:landscape){#obr {width:40%;}}
@media (orientation:portrait){#obr {width:80%;}}
</style>
.
.
.
<img id="obr" src="obrazek.png" onclick=this.style.width="100%" onmouseout=this.style.width="?nevim?">
A protože nevím jestli uživatel bude mít mobil, nebo PC, tak nevím jak vrátit obrázek na původní velikost.
Líbilo by se mi, kdyby šlo v nastavení media orientation uložit šířku obr. do proměnné a tu pak použít v onmouseout
Kajman
Profil
Mělo by stačit nastavit prázdnou hodnotu. Můžete ji nastavit i onclickem, pokud už tam je 100% z minula, aby to šlo na mobilu kliknutím i zmenšit.
<img id="obr" src="obrazek.png" onclick="this.style.width=(this.style.width=='100%'?'':'100%')" onmouseout="this.style.width=''">
medved
Profil
Kajman:
Tak to je mazec, nechápu proč, ale funguje to parádně. Díky
Keeehi
Profil
medved:
Protože tím javascriptem menší inline styl toho elementu. Ten mívá většinou přednost, před tím css ve style tagu. Takže se obrázek zvětší. To že mu pak nastavíš prázdnou hodnotu ten inline styl jakoby zruší, takže se opět aplikuje pravidlo z toho css v tagu style které se k tomu samozřejmě řídí i podle media query podmínky.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0