Priehladné PNG – CSS – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Priehladné PNG – CSS – Fórum – Programujte.comPriehladné PNG – CSS – Fórum – Programujte.com

 

Onsi0
Stálý člen
23. 12. 2007   #1
-
0
-

dá na vo firefoxe,opere a IE7 nastaviť nepriehladné png na priehladné???

Nahlásit jako SPAM
IP: 91.127.11.–
Nefaritus
~ Redaktor
+2
Posthunter
23. 12. 2007   #2
-
0
-

Co tím myslíš? Pokud máš png uložené jako průhledné tak se taky jako průhledné zobrazí. Když ne tak ne...můžeš ho pak částečně zprůhlednit celé, ale to jde pro všechny typy obrázků - pohraješ si s opacity...

Nahlásit jako SPAM
IP: 213.191.111.–
greppi0
Stálý člen
23. 12. 2007   #3
-
0
-

ale IE sa dost hneva s priehladnymi PNG obrazkami (IE 6 - co je este stale najpouzivanejsi prehliadac - priehladnost ignoruje)

Nahlásit jako SPAM
IP: 195.91.80.–
You can make more friends in two months by becoming interested in other people than you can in two years by trying to get other people interested in you - Dale Carnegie
Nefaritus
~ Redaktor
+2
Posthunter
23. 12. 2007   #4
-
0
-

To greppi : Jo jo ignoruje, další důvod ho nemít (IE6 je prostě paskvil), ale dnes už se pro IE6 ani moc neoptimalizuje...i když tuším, že se to u png dá nějak ošetřit...
Pak už mě napdá alternativa uložit to do gifu.

Nahlásit jako SPAM
IP: 213.191.111.–
greppi0
Stálý člen
24. 12. 2007   #5
-
0
-
Nahlásit jako SPAM
IP: 195.91.85.–
You can make more friends in two months by becoming interested in other people than you can in two years by trying to get other people interested in you - Dale Carnegie
mik20
Stálý člen
24. 12. 2007   #6
-
0
-

Něco jako je průhlednost bys mohl v CSS u obrázku nastavit pomocí vlastnosti CSS "filter".

Nahlásit jako SPAM
IP: 85.160.161.–
Jen dvě věci jsou nekonečné - vesmír a lidská hloupost. Tím prvním si ovšem nejsem tak jist. (Albert Einstein)
Nefaritus
~ Redaktor
+2
Posthunter
24. 12. 2007   #7
-
0
-

To greppi : To jsou lednové statistiky...dnes už jen FF pužívá kolem 30% uživatelů :)

Nahlásit jako SPAM
IP: 213.191.111.–
Sakalik0
Newbie
27. 12. 2007   #8
-
0
-

Tvorbou www se zabývám už nějaký pátek a nejjednodušší možnosti, jak ošetřit správné zobrazování v každém prohlížeči, jsou buďto přes použití JavaScriptu, který nadefinuje, co se má zobrazit v IE a co v ostatních prohlížečích (uživatelé IE 7 jsou tak bohužel odepsáni) a nebo přes vložení

<!--[if !IE]> --> text <!-- <![endif]-->

<!--[if IE]> text <!-->

To jsou nejjednodušší možnosti, pak můžeš i přes PHPčko nebo vylepšený JavaScript, který definuje i verze IEčka. Záleží na tobě, kolik máš času a jak moc tě baví si "hrát" se šunty jako je IE :smile1: ...
Každopádně všechno má svoje a tak je lepší si prve rozmyslet, zda použití png má smysl (jak už bylo zmíněno - s gifama se dají dělat také hezké věci a ušetříš mnoho znaků, které uživatel musí jinak zbytečně stahovat). :smile1:

Nahlásit jako SPAM
IP: 83.208.184.–
Petroff0
Věrný člen
28. 12. 2007   #9
-
0
-

to Sakalik

<!--[if !IE]> --> text <!-- <![endif]-->


Není nutné házet IE šestku i sedmičku do jednoho pitle.
<!--[if IE 6]>  <link rel="stylesheet" ....s GIFy....>  <![endif]-->

<!--[if !IE 6]> --> <link rel="stylesheet" ...s PNGy...> <-- <![endif]-->

A tímto způsobem se stahuje jen ta použitá sada obrázků (žádný navíc)
Otázka je, jestli je rozdíl v qalitě průhledných GIFů a PNG natolik významný, že se vyplatí NEudělat to všechno v GIFech

P.S. Někdo se zmiňoval, že se dá zrealizovat, aby IE6 nezobrazoval tu odpornou šeď ....nebyl by nějaký link? (sám jsem hledal a nenašel)

Nahlásit jako SPAM
IP: 89.102.96.–
Sakalik0
Newbie
28. 12. 2007   #10
-
0
-

Napadá mě akorát nějakej hack přes CSS, ale pochybuju, že to vůbec jde... (ale kdyby šlo, byl bych rád :smile2: )

Nahlásit jako SPAM
IP: 83.208.184.–
dalaman0
Věrný člen
28. 12. 2007   #11
-
0
-

NO ja pouzivam tento javaskript

var arVersion = navigator.appVersion.split("MSIE")

var version = parseFloat(arVersion[1])

if ((version >= 5.5) && (document.body.filters))
{
for(var i=0; i<document.images.length; i++)
{
var img = document.images[i]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
img.outerHTML = strNewHTML
i = i-1
}
}
}


a do headu tam toto:

	<!--[if lt IE 7]>

<script defer type="text/javascript" src="js/png.js"></script>
<![endif]-->

Nahlásit jako SPAM
IP: 91.127.247.–
Lepšie je mať psa na saláme ako salámu pod psom !!!
Petroff0
Věrný člen
29. 12. 2007   #12
-
0
-

<to Dalaman> Díky
Zkusil jsem tvůj skript v IE6 => selhal
Příčina:
nefunguje záhadně jedna věc: document.body.filters Browser se vytasí s chybovým hlášením:
>>>Uvedená procedura nebyla nalezena <<<
(v IE7 to běží bezchybně)
Myslíte že za to může, že používám standalone verzi IE6, která - protože není instalovaná - nemá plnohodnotné chování ?
Můžete někdo kdo máte STANDALONE toto potvrdit či vyvrátit pls ???

Pak už zbývá jen kolize s nějakým doplňkem (dll knihovnou), chyba v konfiguraci/nastavení nebo poškozená verze (už ani nevím odkud jsem to stáhl)

A nakonec jedna poznámka: tohle neřeší PNG použité jako pozadí => což je většina použitých obrázků. Škoda !!!!!!

>> našel jsem na webu popis této techniky:
Fix PNG transparency issue for IE 5.5 - 6 in HTML/JavaScript Tutorials http://swik.net/SWiK/Dream.In.Code+Programming+Tutorials/Fix+PNG+transparency+issue+for+IE+5.5+-+6+in+HTML%2FJavaScript+Tutorials/bky5j
----------------------------------------------------------------------------
Tak už vím (což bych radši nevěděl) že jsem se standalone verzí vlastně v háji. A o další krůček blíž k tomu se na PNG vy....

Nahlásit jako SPAM
IP: 89.102.96.–
Petroff0
Věrný člen
8. 1. 2008   #13
-
0
-

Tak už mi IE6 funguje i při používání filtrů.
Náprava: stačilo umístit do složky s IE6 soubory, obsažené po rozbalení instalačky ie60.exe v CABu: IEW2K_3
* dxtmsft.dll (6.00.2900.2180 (xpsp_sp2_rtm.040803-2158))
* dxtrans.dll (6.00.2900.2180 (xpsp_sp2_rtm.040803-2158))

Nahlásit jako SPAM
IP: 89.102.96.–
alexsedron0
Newbie
10. 1. 2008   #14
-
0
-

To Petroff : Bože PITLE??? :o) to ani já nedovedu :o)

Nahlásit jako SPAM
IP: 85.70.188.–
alexsedron0
Newbie
10. 1. 2008   #15
-
0
-

No já používám tohle... ve vektorovým programu si udělám obrázek, a barvu co chci pryč nechám (bílou, jasně modrou, nebo podobně) a pak v Gimpu tu barvu co chci pryč nasaji a přidám do alfi, kliknu a je fuč a není to ani tak průhledný jako smazaný a zůstane tam pouze to co chci aby bylo vidět.... i když je fakt že to testuji na IE7.... starší už nemám...

Nahlásit jako SPAM
IP: 85.70.188.–
Petroff0
Věrný člen
11. 1. 2008   #16
-
0
-

To alexsedron :
Grafika není moje parketa, pár dávkových konvertorů mě při převodu png na gif zklamalo (ještě nejlíp to vyšlo v Photoshopu jenže ten nemá dávkovou konverzi). Sice ti vůbec nerozumím, ale pokud mi pošleš (třeba v příspěvku) nějaký svůj výtvor - já to testnu v ie6 a jestli to bude nezávadné tak se vrhnu do studia.

Zatím mám dilema:
-buď dávat PNG obrázky (s informační hodnotou) do IMG, aby to v IE6 script čitelně vykreslil a riskovat tím ošklivost (vypnuté scriptování)
-nebo pomocí background-img do stylů pro IE6 dát hůře čitelný gif (ikdyž má zapnuté scriptování - nelze využít) a nonIE6 mají ve stylech své PNG

Napadl mě způsob, který omezí nedokonalost pouze na IE6 s vypnutým JS - ještě jsem ho nezkoušel:

-je třeba script: osetritpng.js
-každého zobrazení se účastní 3 obrázky:
[společný] sklo.gif - prázdný průhledný GIF (=průhled na pozadí)
[N/1] xxxx.png - původní obrázek
[N/2] xxxx.gif - náhrada (pro případ že mám IE6 a vypnuté skriptování)

[HTML]

<img id="menu" src="sklo.gif" alt="obr.menu" onLoad="this.src='xxxx.png'"/>
[CSS]
#menu { background: url(xxxx.png) } /*[kromě IE6]*/
* html #menu { background: url(xxxx.gif) } /*[pro IE6]*/



Nahlásit jako SPAM
IP: 89.102.96.–
alexsedron0
Newbie
13. 1. 2008   #17
-
0
-

To Petroff : No na stránkách www.ditom.cz mám u položek průhledný pozadí a to je tvoření obrázkem v png.
Hledal jsem v příručkách a fakt jediné co je na průhlednost nějakého prvku je background-color: transparent;

Tak nevím jestli takhle spočívala otázka... u toho co jsem psal výše jsem měl namysli, postup pro odstranění míst obrázku, která mají být průhledná.... ale to asi nebylo jádro pudla :o)

Nahlásit jako SPAM
IP: 85.70.188.–
Petroff0
Věrný člen
13. 1. 2008   #18
-
0
-

To alexsedron : Jádro pudla je: mám kolekci (hotových, připravených k použití) PNG obrázků - potřebuji náhradní kolekci, která se zobrazí v ie6
PNG průhlednost je využita k:
(1) obrázek není obdélník =zakulacené rohy (případný stín.obrys vně okrajů v průhledné části nebo dovnitř(plastičnost) >>OŽELÍM)
Konverze na gif ne moc dobrá (moc odstínů; místo plynulého ztmavení pozadí je pruhovaný)
S TÍM BYCH SE SNAD JEŠTĚ VYPOŘÁDAL (dám barvu pozadí stránky a VYROBÍM formát JPG)
ale
(2) obrázk.texty ležící na obrázk.podkladu (podklad není stejnobarevný!!) <= řešeno jedinou průhlednou vrstvou (čitelnost ~ antialising)
S TÍM SI NEVÍM RADY

Nahlásit jako SPAM
IP: 89.102.96.–
Petroff0
Věrný člen
20. 1. 2008   #19
-
0
-

Vyřešeno obojí:
1. - jak zobrazení průhledných <img>PNG nad jiným prvkem s PNG
2.- tak realizace <div>ů s background-image: průhl.PNG

1. Obrázek se vloží do <div>u s rozměry obrázku:

  <div id="headmenu"> <div><img src="../images/menu.png" /></div></div>

#headmenu div {
height:14px;
width:36px;
}
* html #headmenu img { visibility:hidden }
* html #headmenu div {
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/menu.png', sizingMethod='scale');
}

2.
<div id="headmenu">Mám png pozadí/div>

html>body #headmenu {
background: url(../images/menu.png) no-repeat;
height:14px;
width:36px;
}
* html #headmenu {
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/menu.png', sizingMethod='scale');
height:14px;
width:36px;
}

Ad 1. Chci zjistit, jestli nejde změnou parametrů dosáhnout abych nemusel obalovému divu nastavovat rozměry => aby je ImageLoader nastavil podle rozměrů obrázku

To alexsedron :
Už jsi přišel na to, proč tvé průhledné png nad jiným png nejsou průhledné ???

Nahlásit jako SPAM
IP: 89.102.96.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Priehladne PNG v IE6 — založil Onsi

Animovane png — založil wrany

PNG a GIF Transparency — založil vodnar73

Načtení PNG a GIF — založil nvm

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý