Autor Zpráva
Petroff
Profil
Řešení:
selektor { ....... ;background: url(image.png)...;}
Pro korektní zobrazení i v ie6 lze převést na:
selektor { ....... }
html>body selektor {background: url(image.png)...;}
* html selektor {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png',sizingMethod='scale');}


V jednotlivých případech je vše OK, ale IE6 umí potrápit:
klasické použití 3 obrázků vedle sebe - prostřední natahovací v x-směru:

<div id="paticka">
<div class="paticka1"></div> <div class="paticka2"> ..... </div> <div class="paticka3"></div>
</div>

.paticka1 {float:left; width:26px; height:48px; }
html>body .paticka1 {background:url(../images/paticka1.png) no-repeat;}
* html .paticka1 {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../ima ges/paticka1.png',sizingMethod='scale');}

.paticka2 {float:left; width:733px; height:31px; padding:17px 0 0 0; }
html>body .paticka2 {background:url(../images/paticka2.png) repeat-x;}
* html .paticka2 {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../ima ges/paticka2.png',sizingMethod='scale');}

.paticka3 {float:left; width:26px; height:48px; }
html>body .paticka3 {background:url(../images/paticka3.png) no-repeat;}
* html .paticka3 {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/paticka3.png',sizingMethod='scale');}

Mezi druhým a třetím blokem se objeví 1pixelová mezera, tvořená pozadím 2.bloku
Ale nemusí. Zkoušeno s jinými obrázky a jinými jednotlivými hodnotami width a height se někdy objevuje a někdy ne.
Záhada je, na čem to závisí (rozhodně ne na pozici v layoutu)
Docela to štve - pokud na to někdo přijde, má mé gratulace.

Jinak použití prostředního png bez repeat-x vzniku skuliny zabrání, horší je, že se zobrazí trochu světlejší. Taky neznám důvod.
>>> v ostatních browserech je to ve všech případech OK <<<
Davex
Profil
A když by byla paticka2 se sudými rozměry, tak by to náhodou nepomohlo?
Miloš
Profil
A co jednoduché řešení pomocí iepngfix.htc?
Zdroj je http://www.twinhelix.com a tady na fóru o tom vcelku nedavno habendorf: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=5&topic=61 388
Miloš
Profil
horší je, že se zobrazí trochu světlejší
Za tohle prý může jakási gamma-korekce či co
Petroff
Profil
Toto je horní a spodní hrana sloupce se zaoblenými rohy.
Spodní je v pořádku, horní s mezerou.
.stredhore1 {float:left; width:25px; height:34px; }
.stredhore2 {float:left; width:398px; height:34px; } suda => ERROR
.stredhore3 {float:left; width:27px; height:34px; }

.streddole1 {float:left; width:33px; height:22px; }
.streddole2 {float:left; width:385px; height:22px; } licha => OK
.streddole3 {float:right; width:32px; height:22px; }

asi to není ono
Petroff
Profil
To Miloš
Chci se vyhnout použití JS
Miloš
Profil
Petroff
Jak je libo; jen mi to připadá jako drbání se levou nohou za pravým uchem. Obzvlášť když průsvitné png umí už i IE7, zatímco podíl IE6 bude stále klesat.
Petroff
Profil
* html xxxx {padding-right:1px; margin-right:-1px}
Tímto se mezera vyruší => lze použít univerzálně (ať už vzniká či ne) - to aby ses nemusel pokaždé za tím uchem ...
Chápu že mnozí si oddechnou, až podíl IE6 klesne na 0% ; já tyhle problémy nemám (nerad čekám).
S šestkou se člověk nenudí a tajemno mi (v rozumné míře nevadí).
Nelíbí se mi představa, že někdo s vyp.JS zírá na grafiku krásnou, leč šedě vykachličkovanou....
Miloš
Profil
Petroff
Nelíbí se mi představa, že někdo s vyp.JS zírá na grafiku krásnou, leč šedě vykachličkovanou....
To ti chválím, ale docela by mě zajímalo, kolika procent návštěvníků se to bude týkat.
Chci říci, že jestliže podíl IE 6 je v současnosti odhaduji 40 % (v listopadu podle Navrcholu to bylo 45,97 %), zajímalo by mě, kolik z těch 40 % má vypnutý javascript. To bude menšina; kdyby byla třeba 5%, pak 5 % z 40 % = 2 %, neboli dva lidi ze sta.
Opravdu bych si s alfakanálem v IE6 nedělal přespříliš zbytečné vrásky.
Railbot
Profil
Podle navrcholu kdysi minulý rok mělo JS vypnutý 1,něco% uživatelů.
Miloš
Profil
Railbot
Takže i kdyby to byla 2 % ze všech, pak to bude v případě IE 6 pouhých 0.8%, což opravdu za snahu ani nestojí.
habendorf
Profil
horší je, že se zobrazí trochu světlejší
Za tohle prý může jakási gamma-korekce či co


Je to tzv. gamma chunk, který lze odstranit různými programy.
http://www.google.cz/search?hl=cs&q=remove+gamma+chunk&btnG=Vyhledat+G ooglem&lr=
Petroff
Profil
habendorf
Gamma to v mém případě asi není - totiž když jsem ten originální obrázek: background:url(../images/paticka2.png) repeat-x; co se AlphaImageLoaderem roztahuje (a má v IE6 správnou tmavost) nahrál do Photoshopu a pak znovu uložil, tak ve všech prohlížečích vypadal nezměněně, ale v IE6 byl světlejší.
Tohle je zdroj chyby - ten roztažený obrázek jsem vyrobil taky ve PhSh úpravou toho OK originálu, bohužel po 2týdnech mám za sebou základy práce s PhSh (a jestli mám něco špatně nastavené tak mi pls poraďte)
Petroff
Profil
Davex
Byl jsi ze všech nejblíže.
Vygeneroval jsem několik desítek bloků .paticka2 s šířkami měnícími se o 1px. Roztahovaný obrázek má šířku 15, tak jsem k zápisu hodnoty šířek do bloků přidal cyklus 0 1 2...14 0 1 2...
<div id="patickaB">
<script>
var imgW = 15; /* šířka roztahovacího obrázku */
var N=600-1, eNd=750; /* testuj od 600=15*40 do 750=15*50 */
function zapis(){var Nmod=N%imgW; var Ndiv=(N-Nmod)/imgW; return N+'='+imgW+'x'+Ndiv+'+'+Nmod+'&lt;-&gt&nbsp;'}
while(N++<eNd)document.write('<div class="paticka2" style="width:'+N+'px">'+zapis()+'</div>');
</script>
</div>

Poznačil jsem si správně a chybně zobrazené bloky:
600=15x40+0 <+>
601=15x40+1 <->
602=15x40+2 <+>
603=15x40+3 <+>
604=15x40+4 <->
605=15x40+5 <->
606=15x40+6 <+>
607=15x40+7 <+>
608=15x40+8 <->
609=15x40+9 <->
610=15x40+10<+>
611=15x40+11<+>
612=15x40+12<->
613=15x40+13<->
614=15x40+14<+>
615=15x41+0 <+>
616=15x41+1 <->
617=15x41+2 <+>
618=15x41+3 <+>
619=15x41+4 <->
620=15x41+5 <->
621=15x41+6 <+>
622=15x41+7 <+>
623=15x41+8 <->
624=15x41+9 <->
625=15x41+10<+>
626=15x41+11<+>
627=15x41+12<->
628=15x41+13<->
629=15x41+14<+>
630=15x42+0 <+>
631=15x42+1 <->
632=15x42+2 <+>
633=15x42+3 <+>
634=15x42+4 <->
atd......každých 15 se výsledky opakují
ZÁVĚR:
Určitě by se dal sestavit výraz, určující, jak se zobrazí img-div (2 vstup.parametry => šířka DIVu a šířka obrázku)
Pro obrázek o šířce 1px se blok vždy zobrazí správně.
Zlobím se na Photoshop - jak může kvalitní aplikace otevřít soubor a (aniž bych provedl jedinou úpravu) - bez upozornění - jej uložit změněný, což dělá s PNG soubory.

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:

0