Autor Zpráva
Blow
Profil
Ahoj mám následující problém
mám dva DIVy(.d4 a #pahtway) a IE6 je rozdilne vykresluje a netuším proč.
Myslim že nemá smysl to moc krkolomně popisovat, tady je kód.
<html>
    <head><title>xxx</title>
    <body>
        <style type="text/css">
            *{margin:0; }
            body{     color:#ffff66;   }
            div#maincolumn_full{   margin-left:250px; }
            div#leftcolumn{   float:left;   width: 250px; background:#4b4b4b;  }
            div.d4 {  background:#4b4b4b; height:10px;  }
            div#pathway{background:#4b4b4b;}
        </style>
        <div id="leftcolumn">a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/></div>
        <div id="maincolumn_full">
            <div id="maincolumn_wrap">
                <div class="d4">xx</div>
                <div id="pathway">Home</div>
            </div>
        </div>
    </body>
</html>


problém je u divu.d4 který je odsazen od okraje
ale proč?? kde je chyba.

FUnguje to správne ve FF, Safari, Chromu ale problém je s IE6
Zechy
Profil
Nevim jak to má na to vliv, ale konec hlavičky je kde?
Blow
Profil
Jasný chybka asi sem toho pro zjednodušení smazal moc.
Nicméně vliv to nemá
Trejpa
Profil
Blow:
Dělá to IE v quirku.
1) Bloku .d4 se snažíš nastavit výšku nižší, než je velikost písma s výškou řádku, což IE v quirku neudělá a zobrazí tam ten nechtěný margin.
1) a) Oddělej height v .d4. Nebo:
1) b) sniž velikost písma v .d4. Nebo:
1) c) Přepni IE do standardního módu a vymysli řešení pro staré IE (verze <= 5.5), které standardní mód nemají.
2) <style> patří do hlavičky, ale prohlížeče si to dokáží opravit.
3) Značka hlavičky patří mezi nepovinné. Vynecháním se nic nestane, prohlížeč pozná, kam patří, a interně si ji tam doplní. Viz Jak funguje HTML.
Blow
Profil
Jo tak sem toho opravdu smazal moc. Mam tam i font-size: 1px. ale stejně to nepomohlo.
Proč je IE v quirku když dokument validní? - doctype tam taky mám.
Pochopitelně style mám v externím souboru.
Trejpa
Profil
Blow:
Validita s quirkem naprosto nesouvisí.
Pro přepnutí do standardního módu použij <!DOCTYPE HTML> nebo plné DOCTYPE (s adresou DTD).
Blow
Profil
Jak už jsem psal doctype tam mam jen sem ho sem neuvadel
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="cs" xml:lang="cs">
Trejpa
Profil
Blow:
Aha. A náhodou nemáš před DOCTYPE ten XML nesmysl, že ne?
Blow
Profil
Ne nemám.
Trejpa
Profil
Blow:
IE 6 totiž DOCTYPE vyžaduje na úplném začátku stránky. Bez mezer, odřádkování, komentářů. Jen tak ho lze (s konkrétním tvarem DOCTYPE) přepnout do standardního módu.

proč je to nesmysl?
Protože stránku prohlížeči posíláš jako HTML a jako takovou ji také prohlížeč vykresluje. Věci z XML (XHTML) nepotřebuje a úspěšně je ignoruje jako chyby.
Blow
Profil
Jasně no doctype mám hned na začátku.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="cs" xml:lang="cs">
    <head><title>xxx</title>
        <style type="text/css">
            *{margin:0; }
            body{  color:#ffff66;  }
            div#maincolumn_full{   margin-left:250px; }
            div#leftcolumn{   float:left;   width: 250px; background:#4b4b4b;  }
            div.d4 {  background:#4b4b4b; height:10px; font-size:1px;  }
            div#pathway{background:#4b4b4b;}
        </style></head>
    <body>
        <div id="leftcolumn">a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/></div>
        <div id="maincolumn_full">
            <div id="maincolumn_wrap">
                <div class="d4">xx</div>
                <div id="pathway">Home</div>
            </div>
        </div>
    </body>
</html>

Pro pořádek.

docela zajímavé je že když zruším leftcolumn tak to funguje tak jak by mělo. a další zajímavá věc se stane když zduplikuju left column
<div id="leftcolumn">......</div><div id="leftcolumn">......</div>


zkoušel jsem smazat všechny atributy v css co mě napadly že by to mohly zpusobovat ale stále to nefunguje.

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: