Mám dotaz ohledně zobrazování pozadí v prohlížeči mozilla (1.5). Mám v externím souboru se styly řádek:
<STYLE type="text/css">
<!--
body { background-color: #f2f2f2; margin: 0px; padding: 0px }
.... a tak dále
,ale místo šedivé barvy mi zobrazuje bílou. V IE je vše OK. Nevíte, jak přinuti mozillu, aby zobrazovala barevné pozadí?
Díky za odpověď.
Jestli to máš v externím souboru, tak tam tohle
<STYLE type="text/css">
<!--
nepatří!
Mám vyzkoušený, že Mozilla neumí korektně zobrazovat stránky. Je pomalá a taková celá divná. Fak nevim proč jí používá tolik lidí. I ten IE se mi zdá lepší.
Opera rulez
> Mozilla neumí korektně zobrazovat stránky
naopak. Mozilla se umí velmi přesně držet standardů. To je důvod, proč ji používá tolik lidí!
wrata: zkontroluj v nastaveni Mozilly, zda-li nemas vyple styly, atp.
Bavíte se tu jenom o kravinách.Pozadí sou ůplně ukradený.Nejdůležitější sou věci které na té stránce jsou.tak zatim cau Honza
Díky za konstruktivní a smysluplný příspěvek k tématu.
Freya: nevim proč, ale IE a Opera moje stránky zobrazují téměř totožně oproti Mozille, která si dělá co chce a nezobrazuje je korektně.
Jo a o Opeře jsem četl že se drží striktně standardů čemuž věřim, neb mam tuto skutečnost dlouhodobě odzkoušenou!
Ze vzduchu věštit nemůžu, musel bys předvést ten dotyčný kód...
Jde o to, že IE ti promine kdejakou prasárnu a to Mozilla nikoliv.
Jinak souhlasím, že Opera je velmi solidní browser
Freya: sxmax.wz.cz - mrkni na to přes Operu a pak zkus Mozillu
sXmax: v CSS ti v divu "obsah" chybi vyska.. se pak nediv, ze si s tim kazdy prohlizec udela co chce
Tak díky za vše. Bylo to tím
<STYLE type="text/css">
<!--
v externím souboru. Pro mozillu začínám tvořit nově a v IE mi to procházelo.
Sojkovec: 1. psal jsem to Freye
2. je vidět že jsi CSS moc nepobral
sXmax: je videt, ze jsi CSS nepobral ty, proto tam mas ten defekt..
BTW: zkopiroval jsem si tvuj web na svuj disk, a tam jsem tu chybu opravil (doplnenim height) a ejhle, uz to bylo OK...
sXmax >> nebuď na Sojkovce zlý. Odpověděl ti dřív než já a dobře.
V CSS ale nemusí být určený všechny elemnety, jen ty které je chci definovat. Nedefinované jsou pak brány jako defaultní. Takže se dostávám k tomu, že Mozilla nezobrazuje stránku korektním způsobem, ale přidává šedý pruh (netušim kde ho vzala) a ještě nerespektuje nastavené vzdálenosti "ul".
Šlo mi v principu jen o to že je Mozilla @!#$. Věděl jsem jak stránky poupravit, aby je takhle chybně nezobrazovala. Ale co z toho, chci mít variabilní délku stránek a ne se ještě starat jak budou dlouhé...
Freya: Sojkovec pořád prudí...budu zlej!
Ja si nezacal.. Prave ty defaultni hodnoty se ruzni, a s tim je treba pocitat. A chyba neni v Mozille...
Box model, box model ;-)
Šedý pruh je to pozadí s přechodem od šedé barvy do bílé, které se automaticky opakuje.
#levy { position: absolute; width: 170px; height: 400px; left: 0px; top: 100px; background: url(levy.bmp); padding: 50px 0px 50px 20px }
Počítáme šířku:
width:170 px (takhle široký je i obrázek na pozadí)
padding-left:20px
- dohromady to dělá 190px. No a ta šedá čára je oněch 20px, na kterých se opakuje obrázek s přechodem barev šedá>bílá.
...a to je celá ta věda. Mozilla to zobrazuje správně! :-)
Právě jsem našel 3. chybu v Mozille. To je ale šmejd. Tak tedy začnem:
1. Padding určuje jen odsazení textu od okraje boxu. Box má přesně určené rozměry (170x400), které jsou neměnné. Mozilla toto ignoruje, sčítá rozměry (jako Freya 170+20) a začíná zase vyplňovat bitmapou (to je ten šedý pruh) -> CHYBA
2. Donutit Mozillu chovat se korektně lze použitím "background-repeat: repeat-y" u bitmapy v mystyle.css. Pak se ale dostáváme k oné další CHYBĚ: Mozilla bitmapu opakuje na výšku až do konce stránky, přitom má tapetovat jen v boxu (170x400).
3. Koukali jste na to jak Mozilla zřídila seznam: "#levy ul { margin-left: 16px; margin-top: 2px }" toto naprosto vynechala. To je poslední CHYBA co jsem v Mozille našel během jednoho dne.
Tak už konečně uznejte že ta vaše Mozilla nestojí za nic! I ten zatracovaný IE je mnohem lepší. No a Opeře oba browsery nesahaj ani po kotníky!
1. takhle má ale správně fungovat box model - ve standardech W3 je určeno, že šířka boxu = width + padding left + padding right + border left + border right. Těch 190 px je naprosto korektní chování! To, že paddingy a bordery se odčítají od šířky, je stará a velmi vžitá chyba IE. Opera se ji v nestandardním módu nejspíš snaží napodobovat, aby ušetřila práci líným wedmasterům. Opakuju: tady je chování Mozilly naprosto správné.
2. v jakém rozlišení na to koukáš? Přepnula jsem si monitor na 1280x1024. Udělala jsem si screenshot. Rozřezala jsem ten obrázek a zkoumala jsem, jak je tam co vysoké a široké.
Výška divu #levy dělá přesně 500px. Tedy height:400px + padding-top:50px + padding-bottom:50px. Ve větším rozlišení je jasně vidět, že Mozilla tím pozadím opravdu vyplňuje jenom určený prostor. Tady se taky chová dobře.
3. he? jak jsi přišel na to, že to Mozilla vynechala? Nevynechala. Teda aspoň u mě ne. Zkus tomu seznamu dát nějakou výraznou barvu pozadí, abys ten box dobře viděl (tohle je první, co udělám pokaždé, když v nějakém chování v CSS nemám jasno, je to šikovné). A pak měň ty hodnoty marginů. Přeba místo 16px dát o px, místo 2px 30px a tak. Ten seznam se odsouvá od okrajů rodičovského boxu perfektně, jako když bičem mrská.
Hele, vím, že když mi nebudeš chtít věřit, tak mi věřit nebudeš, i kdybych ti přinesla glejt o správném chování Mozilly s razítkem třeba od Boha. Ale myslím, že tvoje domněnky o nesprávném vykreslování jsem snad vyvrátila jasně a stručně...ne? :-)
Nenecháme toho prohlížečového fundamentalismu? Všichni přece víme, že ten špatný je tady Internet Exploder ;-)
sXmax: http://www.jakpsatweb.cz/css_prehled.htm
podivej se zhruba do poloviny stranky, jestli neveris me ani Freye
Za tři dny se ozvu a ještě to dořešíme, je to docela zajímavé...