Autor | Zpráva | ||
---|---|---|---|
nethor Profil |
V kódu mám takovouhle konstrukci (zjednodušeno):
<div> <a href="http://www.ozero.cz/"> <span style="display: block; width:300px; height:100px; overflow: hidden; background: #ccc;"> <img src='http://www.ozero.cz/obr/ozero.gif' width="160" height="160" alt='Pellentesque'> </span> </a> </div> Jde zhruba o to, aby obrázek, pokud je větší nepřetékal přes blok. K mému překvapení ale nefunguje v IE odkaz při kliknutí na obrázek (mimo obrázek - do šedého ano). živý příklad 1. Naprosto nechápu proč? 2. Jak to fixnout? |
||
jannes Profil * |
#2 · Zasláno: 8. 4. 2012, 18:30:59
Mne to funguje, mám IE8.
|
||
Chamurappi Profil |
#3 · Zasláno: 8. 4. 2012, 22:10:08
Reaguji na nethora:
Zkusil bych nastavit odkazu display: block .
|
||
margin Profil * |
#4 · Zasláno: 8. 4. 2012, 22:27:13
Já bych vyhodil span a místo něho bych nastyloval odkaz.
Asi jde o chybu IE7 a starších. |
||
nethor Profil |
#5 · Zasláno: 8. 4. 2012, 23:00:30 · Upravil/a: nethor
jannes:
Mě tedy ne, mám též IE8 (winXP), nefunguje ani v IEtester 5.5 , 6 , 7. Ale na jiném compu s win7 IE9 funguje správně. ... tohle tedy asi patří spíš do kategorie Webové prohlížeče. Obešel jsem to takhle: <div> <a href="http://www.ozero.cz/"> <span class='img' style='display: block; background-image: url(http://www.ozero.cz/obr/ozero.gif) repeat: no-repeat 50% 0; width:300px; height:100px; '></span> </a> </div> Ale připadá mi to jako opičárna. Nechápu, proč původní kód nefunguje. ... dokonce ani validátor nic nenamítá Chamurappi: display: block; u odkazu nepomohlo. Teď koukám, že to tady už kdysi někdo řešil. Problém způsobuje overflow: hidden; - nevím proč. |
||
Lukáš R. Profil |
Já používám nástroje pro vývojáře v Google Chrome a přišel jsem na zvláštní věc:
Odkaz nemá žádnou velikost (inlinový prvek NESMÍ obsahovat blokový prvek) a ve starých verzích IE se "klikatelnost" nedědí. Tady je obrázek: Já bych použil následující kód: <span style="display: block; width:300px; height:100px; overflow: hidden; background: #ccc"> <a style="display: block" href="http://www.ozero.cz/"> <img src="http://www.ozero.cz/obr/ozero.gif" width="160" height="160" alt="Pellentesque"> </a> </span> Popřípadě <span style="display: block"> nahradit za <div> (div je jen bloková verze spanu)
|
||
Chamurappi Profil |
#7 · Zasláno: 10. 4. 2012, 01:15:34
Reaguji na Lukáše R.:
„Odkaz nemá žádnou velikost“ Myslím, že to je diskutabilní. Věc názoru prohlížeče… „inlinový prvek NESMÍ obsahovat blokový prvek“ Není pravda. Toto pravidlo pochází z pradávných HTML specifikací, kde sloužilo zejména jako zjednodušení mnoha dílčích více či méně rozumných pravidel týkajících se konkrétních HTML elementů. Do CSS ho nikdy nikdo nepřenesl. „a ve starých verzích IE se "klikatelnost" nedědí“ Běžně se dědí, jen v tomto případě mu něco vadí. |
||
peta Profil |
Viz chamurapi, pouzil bych display:block pro A. Navic mu nastavil width, height. A Mozna position:relative; Pripadne tomu spanu dat tez position. Overflow totiz nemusi bez position fungovat.
Jinak to rikas spravne, odkaz je radkovy prvek. Ze v nem mas neco vetsiho pro nej nic neznamena, porad je klikatelna oblast jen radek. Da se to zjistit napr tim, ze nechas podbarvit u A background-color. A o ostatni o dedicnosti a smi a nesmi, to uz psal cham, ze jsou jen kecy :) |
||
margin Profil * |
#9 · Zasláno: 10. 4. 2012, 13:59:00
peta:
„pouzil bych display:block pro A. Navic mu nastavil width, height. A Mozna position:relative; Pripadne tomu spanu dat tez position.“ To všechno jsem zkusil, zkoušel jsem z-index. „Overflow totiz nemusi bez position fungovat.“ Musí. „Jinak to rikas spravne, odkaz je radkovy prvek. Ze v nem mas neco vetsiho pro nej nic neznamena, porad je klikatelna oblast jen radek. Da se to zjistit napr tim, ze nechas podbarvit u A background-color.“ Kecy a bláboly, mezi tím, co se podbarví a plochou odkazu není žádná souvislost. Klikatelná oblast odkazu se "odjakživa" zjišťuje tabulátorem. „A o ostatni o dedicnosti a smi a nesmi, to uz psal cham, ze jsou jen kecy“ Kecy jsou tvé připomínky, výše uvedená konstrukce funguje napříč všemi moderními prohlížeči, akorát se hledá, jak obejít chybu ve starších Explorerech. |
||
peta Profil |
#10 · Zasláno: 10. 4. 2012, 14:58:31
margin: Prosim te, zkus si to. Dekuji.
|
||
margin Profil * |
#11 · Zasláno: 10. 4. 2012, 15:06:20
peta:
„Prosim te, zkus si to.“ Nemám důvod zkoušet znova. „Dekuji.“ Klidně se zdekuj. |
||
Časová prodleva: 12 let
|
0