Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: IE i przeźrocztość png
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
Apo
Witam
Mam problem z przeźroczystością w IE. Znalazłem taki hack:
Kod
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='middle.png',sizingMethod='scale');

No i niby wszystko jest ok, obrazek jest przeźroczysty, ale elementy na stronie nie są aktywne, tzn linki nie działają, pola formularzy itp, tak jakby dostało to wyłączone ;/
Znacie jakis sposób na to ?

Pozdrawiam
gekon
Co najmniej 5: Firefox, Opera, Konqueror, Safari albo IE7. W IE6 nic oprócz filtrów nie da się zrobić.
Apo
No własnie a jest jakiś inny filtr, który "odblokuje" linki, formularze itp pod IE < 7,a nie tak jak
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='middle.png',sizingMethod='scale');
który blokuje takie rzeczy ;/ ?
chudykrzys
Witam,
Ja korzystam z metody opartej o plik .htc, pamiętaj iż każdy znacznik <img> musi posiadać atrybuty width i height. Działa również z linkami. Po szczegóły zerknij tutaj:
http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html
i ewentualnie
http://www.scss.com.au/family/andrew/webdesign/pngbehavior/

Pozdrawiam
gekon
Nie żadnej innej metody ("plik .htc" robi to samo tylko, że sam szuka obrazków na stronie). A blokowanie linków jest związane z bugiem w IE6.
erix
position: relative dla linków i powinno działać.
Pilsener
Żeby nie zakładać nowego topicu dopiszę w tym...

Otóż mam problem z rozwiązaniem opartym na pliku pngbehavior.htc - działa bardzo pięknie na localhoście, jednak po wrzuceniu plików na serwer już nie :/

Ktoś może spotkał się już z takim problemem?
gekon
A sprawdzałeś ścieżki?
Pilsener
A jakie tam ścieżki trzeba podać? Jedynie link do pliku w CSS


img {
behavior: url("pngbehavior.htc");
}


Zresztą wszystkie pliki mam w tym samym katalogu...
gekon
Bez kodu wróżył nie będę.
L_Devil
@Do oryginalnego autora tematu:

Ja zastosowałem taką sztuczkę - i one działa dobrze, choć - niestety - jest wbrew standardom:

  1. <!--[if IE]>
  2. <img src="blank.gif" alt="top-left part of bar" style="width: 8px; float:left; position:absolute; right:50%; margin-right:-383px; margin-top:195px; height: 8px; filter:
  3. progid:DXImageTransform.Microsoft.AlphaImageLoader(src='./top-left-part.png', sizingMethod='scale')" />
  4. <![endif]-->
  5. <![if !IE]>
  6. <img src="./top-left-part.png" alt="top-left part of bar" style="width: 8px; float:left; position:absolute; right:50%; margin-right:-383px; margin-top:195px; height: 8px;"/>
  7. <![endif]>
Pilsener
Cytat(gekon @ 12.05.2007, 10:07:32 ) *
Bez kodu wróżył nie będę.


Proszę bardzo:

HTML:

Kod
   <div id="lewy_baner">
   <img src="grafika/napis.png" alt="pilsener logo" />
   </div>


CSS:
Kod
#lewy_baner img {
position:relative;
float: left;
width: 361px;
height: 90px;
behavior: url("pngbehavior.htc");
margin: 60px -361px 0 100px;
}


Na localhoście działa bardzo ładnie (zachęcony tym zrobiłem grafę w *.png) - a po wgraniu na serwer kicha :/


Przerobienie na gify i serwowanie ich dla IE nie wchodzi w grę (o ile małe obrazki jeszcze ujdą w tłoku, to np. napis dostaje pikselozy)
gekon
A sprawdzałeś ścieżkę do tego przeźroczystego gifa (czy png czy co Ty tam masz)?
Pilsener
Tak - jest w tym samym katalogu co plik behavior.htc:

Kod
var blankSrc = "blank.gif";


Może być tak, że serwer ma jakieś zabezpieczenia?
gsk
a jak masz ustawionego chmod'a tego pliku?
L_Devil
w IE musisz mieć włączony ActiveX. Sprawdź, czy Antywir ci go np. nie blokuje winksmiley.jpg
Pilsener
Activex ok (sprawdzałem nawet z drugiego kompa)

Chmod mam standardowy: 644

Działa! - nagle zaczeło działać - czy możliwe, że to z winy serwera? Nic nie zmieniałem :/


PNG wstawione jako tło załatwiłem tym:


Kod
#tlo {
width: 361px;
height: 90px;
background: url(grafika/napis.png) !important;
background: none;
filter: none !important;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='grafika/napis.png');
}


Zatem mogę polecić z czystym sumieniem PNGbehavior + powyższe.

Ładnie działa mi także taki sposób:

Kod
<style type="text/css">
img {
width: 361px;
height: 90px;
background: none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="grafika/napis.png", sizingMethod="none");
}
</style>

<img id="logo" src="blank.gif" alt="" />


Polecam tylko wtedy jeśli nie chcemy żadnych skryptów w rodzaju PNGbahavior, gdyż trzeba albo użyć komentarzy warunkowych w kodzie HTML, albo wykorzystać PHP i $_SERVER['HTTP_USER_AGENT'].

Dzięki za pomoc - ktoś jeszcze coś mądrego może tu kiedyś dopisze winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.