Autor Zpráva
Smekac
Profil
Zdravím,
potřeboval bych vytvořit na webu tabulku odkazů, odkaz bude obrázek ale v tom samém políčku musí být ještě jeden obrázek, který se bude měnit pomocí PHP. Pro představu to vypadá takto v Chrome http://www.q3.cz/images/90aaa.jpg a pod ale v IE toto nefunguje a zobrazuje se jako bez elementu inline-block tedy sloupeček nad sebou. Příde mi že IE vubec na inline-block nereaguje. http://www.q3.cz/images/49bbb.jpg Už nějak nevím co s tím. Díky za rady.
Trejpa
Profil
Smekac:
1) Změnit display elementu na inline-block dokáže Internet Explorer do verze 7 pouze z řádkových elementů (tabulka kompatibility).
2) Internet Explorer musí být ve standardním vykreslovacím režimu, ten přepneš třeba pomocí <!DOCTYPE HTML> na úplném začátku stránky (ne za mezerami, které tam máš nyní).
dotmartin
Profil *
Staré verze IE nerozumí inline-block u blokových elementů. U řádkových elementů inline-block funguje, protože mají atribut hasLayout. Řešením, pomocí kterého dosáhnete funkčnosti inline-block i u blokových elementů tedy je u nich nějak zajistit atribut hasLayout. To můžete udělat například přidáním CSS vlastnosti zoom: 1;.

Osobně používám jako "IE display inline-block hack" tento kód:
.someClass
{
    /* nejake vlastnosti */
    *zoom: 1;
    *display: inline;
}
Smekac
Profil
Trejpa:
Mužete poradit jak konkretně to tam zapsat ? s tímhle jsem se ještě nesetkal.
Trejpa
Profil
Smekac:
Co zapsat? Nedal jsi sem konkrétní živou ukázku problému.

Doctype musí být na začátku souboru ve tvaru zajišťující standardní režim prohlížeče.

Bloky, které se mají chovat jako inline-block, musí být v HTML kódu zapsány jako řádkové elementy (třeba span) případně jako blokové se zapnutým hash layoutem v CSS (třeba pomocí vlastnosti zoom).
Smekac
Profil
Trejpa:
Jedná se o tohle
http://smekal-vyvoj.hys.cz/pages/products_lokoTT.php
pomocí zoom: 1; se vyřešilo špatné zobrazování celku, ted ještě potřebuji vyřešit aby jak puntík tak ikonka lokomotivy byly ve stejné urovni.
Trejpa
Profil
Smekac:
Polopatě, potřetí a naposledy. Aby to fungovalo v Internet Exploreru stejně, jako v jiných prohlížečích, musíš navíc ještě změnit vykreslovací režim. K tomu je potřeba změnit DOCTYPE.

Toto včetně těch mezer na začátku souboru smažeš:
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta name="robots" content="index, follow">

A zapíšeš to takhle (bez mezer vepředu):
<!DOCTYPE HTML>
<html>
  <head>
  <meta name="robots" content="index, follow">
Smekac
Profil
Dobrý, :) nějak tak jsem to potřeboval vidět. <!DOCTYPE HTML> se mi právě zdálo nějak málo. Ale díky za pomoc, pro příště už budu vědět...
Trejpa
Profil
Smekac:
Pořád máš před DOCTYPE mezery (možná je to dvojitý BOM), v Internet Exploreru 6 se ti to nebude zobrazovat stejně.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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