Ahoj,
Narazil jsem na problém přez který jsem se nemohl přenést. Mám průhledný obrázek kterému chci nastavit barvu pozadí proto, když uživatel bude mít vypnuté obrázky aby tam zůstala nějaká barva pozadí. Ale tím že je obrázek průsvitný tak barva pozadí obrázku prosvítá. Jak to udělat tak aby se při zobrazeném obrázku nezobrazovalo barevné pozadí a při vypnutém obrázku se barevné pozadí zobrazovalo?
<img src="alfa.png" style="background:white">
Ještě bych dodal width, height a title="Zapni si obrázky - smrade!"
Správně je
alt="Zapni si obrázky - smrade!"
REAKCE - Kit (ekobrikety.vyrobce.cz)
Tak přesně tohle mi vůbec nepomůže protože když obrázek 'alfa.png' bude mít 50% krytí, na stránce bude černé pozadí tak skrz obrázek bude prosvítat bílé pozadí které bylo definováno pro 'alfa.png'.
Ale to jsi v původním příspěvku nepsal. Nějaká ukázka by nebyla, jak si to vlastně představuješ?
A co tak z toho obrázku odstranit alfa kanál? Nebo vyměnit bílé pozadí v alfa.png za černé.
REAKCE - Kit (ekobrikety.vyrobce.cz)
Takže takdy jsem zhotovil malou ukázku aby vše bylo jasné.
http://cp.xf.cz/predstava/index.html
Momentálně nejsem doma proto se předem omlouvám za kvalitu ukázky. Jak vidíte tak obrázek 'alfa.png' je průhledný (x%krytí). Pod ním je RŮŽOVÉ pozadí a stránka má MODRÉ pozadí.
Mne jde o to když na pozadí stránky bude místo MODRÉ barvy nějaký vzorek aby se obrázek 'alfa.png' zobrazoval bez RŮŽOVÉHO pozadí a když uživatel vypne obrázky aby se na pozadí stránky oběvilo Růžové pozadí obrázku.
Už nevím jak to lépe to popsat zkrátka
Zobrazený obrázek = žádné pozadí
Skrytý obrázek = RŮŽOVÉ pozadí
<HTML>Má ten požadavek nějaký racionální důvod?</HTML>
REAKCE - Nípal (moderátor)
Teoreticky by mne napadlo pár možností kde by se to dalo využít, např. (obrázkové menu) ale spíše jsem zvědavý a zajímá mne zda-li to jde provést.
Obrázkové menu se dělá nejlépe asi přes rollovery. Když jsou obrázky vypnuté, automaticky se změní na textové.
=Óňa=
Ono to asi dost dobře nepůjde..
Můžeš sice vytvořit ružové pozadí naspod, přes něj dát obrázek (kterému nastavíš skutečné pozadí (např. jako okoli) s x%alpha - ale narazíš na problém, že potom už průhledný obrázek nebude ve skutečnosti průhledný, pouze pod sebou bude mít vybrané pozadí. Což pro některé případy stačí, jindy (většinou) ne..
S javascriptem si imho moc taky nepomůžeš - protože se ti nepodaří nijak zjistit, jestli obrázek je zobrazen nebo není.. (mohl bys testovat rozměry obrázku po načtení, ale imho když už prohlížeč obrázky blokuje, nastaví i "fake" velikosti..)
Holt uživatelé stránek jsou prostě darebáci! Někteří vypínají zobrazování obrázků (kašlou na výmysly autora), jiní vypínají javascript (kašlou na rollover a jiná "udělátka" autora). Začínám mít podezření, že to dělají úmyslně! :-)
Lama: Rollover jede i bez Javascriptu.
Ještě dělám to, že si zvětším písmo, abych ty blechy od autorů přečetl. Samozřejmě to rozhodí design - často fatálně.
Kit: Nemůžu napsat všechno, co uživatelé na autory "vypínají".
Mno, v prvni rade je jasne, ze IE ma stale jeste problemy s PNG, takze to nelze pouzit. Ja vim IE7 to nejak resi, ale mam dojem, ze kdosi psal, ze to ne uplne vzdy jede nebo rozhasuje barvy. Proste sazim na jistotu.
V tom pripade zbyva pouzit kombinace PNG/javascript, GIF/javascript.
Tim padem se problem stava resitelny tak, ze v obou pripadech mas v CSS pouze pozadi a transparenci prida JS, at uz png nebo gif nebo IE filtr.
Pak je tu moznost opet pouzit JS, ale v kombinaci s pevnym JPG. tim se prekryva barva pozadi a neni treba resit transparenci, tu resi pevny jpg.
a, pardon, to druhe reseni samozrejme js nepotrebuje
=Óňa=
Pokud opravdu máš takový požadavek, tak nedávej obrázku background-color, ale background-image, jednobatevný obrázek požadované barvy.