Autor Zpráva
Kcko
Profil
Donedavna jsem zil v domneni ze png behavior je funkcni pouze na obrazky vlozene pres HTML.
Nejak jsem brouzdal a nasel co uz pulka lidi v tomto topicu zna, iepngfix, ktery umi zpruhlednit i obrazky vlozene jako pozadi v css-ku.

Je normalni, ze v IE 6 ale uplne zresetuje background-position? ve FF ok, v IE 6 nikoliv, obrazek mi visi vlevo nahore a ne uprostred.

Prikladam kod. Mam nekde chybu, nebo neco nevim? Diky



width: 570px;
	float: left;
	/*behavior: url('iepngfix.htc');*/
	/*background: url('../obrazy/watermark.png') no-repeat 50% 10%;*/
	position: relative;
Miloš
Profil
Ona všechna tahle udělátka pracují nikoli na 100 %.
Prý je lepší, když je (v kombinaci s htc) IE6 v quirku; ve standardu se prý chová velmi špatně.

V každém případě můžeš ještě odzkoušet řešení průsvitnosti png pomocí jquery – http://www.pcblog.cz/clanek/187/jak-na-pruhledne-png-v-internet-explor eru-6-a-5-5-format/
Kcko
Profil
Miloš
Dekuju, prave v tom clanku ted vidim ze u druheho zpusobu se projevilo to co u mne ... zkusim to s query... takze jeste jednou thx
Chamurappi
Profil
Reaguji na Kcko:
v domneni ze png behavior je funkcni pouze na obrazky vlozene pres HTML
Ve skutečnosti užívá filtr AlphaImageLoader, který funguje pouze jako obrázek na pozadí. Dotyčná behaviorová záplata se na <img> chová tak, že do src dá průhledný GIF a na jeho pozadí přes filtr strčí ten původní PNG.

iepngfix, ktery umi zpruhlednit i obrazky vlozene jako pozadi v css-ku
Existuje více verzí toho behavioru. Starší se uměly vázat jen na <img>, novější už koukají i na background v CSS. Opět fungují tak, že zruší existující background a nasadí filtr.

Je normalni, ze v IE 6 ale uplne zresetuje background-position?
Ano, filtr vůbec nekouká na background-position, protože to není background. Nekouká ani na background-repeat.

zkusim to s query...
Dopadneš stejně. Alfakanál PNG nejde rozběhat jinak než přes AlphaImageLoader a filtr nasazený pomocí jQuery nebude lepší než tentýž filtr nasazený pomocí behavioru.


Reaguji na Miloše:
Prý je lepší, když je (v kombinaci s htc) IE6 v quirku; ve standardu se prý chová velmi špatně
Tuto pověru slyším prvně. Jak špatně by se měl chovat?

můžeš ještě odzkoušet řešení průsvitnosti png pomocí jquery
Dosáhne totožného výsledku, ale zvětší objem přenášených dat o celý framework. V odkázaném článku je řada nepřesností:
1) Záplata pomocí jQuery také užívá průhledný 1×1px GIF (tvrdí navazující článek) => implementace je stejně složitá.
2) Uvnitř HTC souboru je také JS. Pokud zakážu v Exploreru skriptování, neměl by fungovat.
3) Ani jQuery neumožňuje opakovat PNG na pozadí.
Oba způsoby opravy alfakanálu jsou dělají vesměs totéž, takže mají stejná pro i proti.
Kcko
Profil
Chamurappi

Chamurappi: Diky za vycerpavajici odpoved.

Lze tedy nejak dosahnout pruhledneho pozadi , jehoz zdrojem je PNG obrazek, ktery nastavim pres CSS ?
S tim ze potrebuji zachovat dalsi formatovani ( background-position, background-repeat atd.? )

Vyresil jsem to prozatimne velmi prasacky ( dalsim divem, ktery je relativni a do nej jsem ten obrazek strcil jako <img src a napozicoval ho absolutne, tomu divu nastavil min-height ..a funguje to ..) ale moc se mi to nelibi.

Diky
Miloš
Profil
Chamurappi
Tuto pověru slyším prvně
Už to tu nedohledám; v každém případě jestliže se htc chovají nezávisle na vykreslovacím režimu, díky, budu si to pamatovat s větší radostí než předchozí domněnku.
Venca V
Profil
Jak špatně by se měl chovat?
Nevím, nakolik to mělo souvislost s vykreslovacím režimem, ale kdysi dávno jsem řešil průhlednost png na pozadí pomocí souboru .htc, a dokáže to totálně rozhodit layout. Plovoucí prvky to odsunulo kamsi do bža, taktéž pozicované prvky.

edit: ten web byl ve strictu, přepnout do quirku mě tehdy nenapadlo.

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