PNG jako link

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
harold1982
Posty: 6
Rejestracja: czw gru 21, 2006 1:19 am

PNG jako link

Post autor: harold1982 »

Mam powiedzny dwa linki nachodzace na siebie. Linkami sa pliki PNG (z kanalem alpha). I pytanie brzmi: Jak zrobic, aby odnosnikiem byla tylko wlasciwa czesc obrazka (w sensie z pominieciem czesci przezroczystych). Normalnie odnosnik graficzny jest prostokatem i nie wiedzialem, ze mozna wylaczyc kanal alpha, ale probujac naprawic niedogodnosci z obsluga PNG w starszych IE zauwazylem ciekawy efekt. Mianowicie

Kod: Zaznacz cały

filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
daje w IE (przynajmniej werji 5.5 i 6) efekt opisany na poczatku!!!
Jak to uzyskac w innych browserach ??
Ostatnio zmieniony ndz sty 14, 2007 11:39 am przez harold1982, łącznie zmieniany 1 raz.
koziolek
Przelotem
Przelotem
Posty: 387
Rejestracja: sob paź 21, 2006 10:07 pm
Kontakt:

Re: PNG jako link

Post autor: koziolek »

pod Operą jak i FF nie ma obawy. png z przezroczystością działają bez zarzutu. Jeżeli jednak nie ustawiłeś przezroczystości warstw w obrazku zawsze możesz użyć cssowego opacity do nadania przezroczystości całym obrazkom.
harold1982
Posty: 6
Rejestracja: czw gru 21, 2006 1:19 am

Re: PNG jako link

Post autor: harold1982 »

Przezroczystosc jest "wyswietlana" poprawnie we wszystkich przegladarkach. Chodzi o to, że po zastosowaniu tego filtru w IE odnosnikiem jest tylko ta czesc obrazka, ktora jest nieprzezroczysta. W sensie, dajmy na to, jesli PNG przedstawia kolo na przezroczystym tle to odnosnikiem jest tylko to kolo, a nie caly PNG. Nawet jesli we wnatrz tego kola jest jakis przezroczysty pixel to on rowniez nie dziala jak odnosnik. Problemem nie jest wyswietlanie przezroczystosci tylko sposob traktowania ich przez przegladarke!!!
Jesli ktos zna jais altrnatywyny sposob rozwiazania tego problemu to jest on rowniez mile widziany. Zaznaczam tylko, ze wszelkiego rodzaju mapy odnosnikow (ze wzgledu na poziom skomplikowania ksztaltow i ich ilosc) nie wchodza w gre. Wykluczam takze mapy po stronie serwera.
PS Bylem pewien, ze tego nie da sie zrobic, az nie zobaczylem tego w IE przez przypadek. Koziolek - dziekuje za checi :)
koziolek
Przelotem
Przelotem
Posty: 387
Rejestracja: sob paź 21, 2006 10:07 pm
Kontakt:

Re: PNG jako link

Post autor: koziolek »

Nad obrazkiem umieść element <a> który będzie:
- blokowy
- pozycjonowany absolutnie względem obrazka

Będzie on robił za odnośnik. Wizualnie kliknięcie na dowolny punkt obrazka spowoduje technicznie kliknięcie na element <a> który znajduje się nad nim.
harold1982
Posty: 6
Rejestracja: czw gru 21, 2006 1:19 am

Re: PNG jako link

Post autor: harold1982 »

Albo ja nie rozumiem, albo Ty :) !!
Mi chodzi o to jak ignorowac przezroczyste elementy obrazka! Tak ja robi to IE6 po zastosowaniu wyzej wspomnianego filtru.
123456
Zaczyna działać
Zaczyna działać
Posty: 514
Rejestracja: sob paź 28, 2006 1:19 pm

...

Post autor: 123456 »

Jak zrobic, aby odnosnikiem byla tylko wlasciwa czesc obrazka (w sensie z pominieciem czesci przezroczystych). Normalnie odnosnik graficzny jest prostokatem
Wedlug mnie to jest blad IE. Jezeli uzywasz <a> do stworzenia linku i w nim ustawiasz jako tlo jakis obraz, to musisz ustawic wyswietlanie blokowe tego linku. W takim razie tym "prostokatem" jest element <a> a nie tlo. Klikasz na <a> a nie na jego tło. Kształtu <a> raczej nie zmienisz.

Jezeli nie uzywasz <a> to napisz w jaki sposob tworzysz link i podaj przyklad bo inaczej sensownej odpowiedzi nie uzyskasz.
ODPOWIEDZ