Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: W jaki sposób zrobić takie menu?
Forum PHP.pl > Forum > XML, AJAX
james8
Witajcie,

Zamierzam zrobić na swojej stronie menu obrazkowe, obrazki mają być szare po najechaniu myszką ma zmieniać się kolor obrazka.

Jedyna metoda którą znam to podmienić obrazki za pomocą css (a:hover).

Czy znacie jeszcze jakiś inny sposób za pomocą którego można tego dokonać?

Przykład takiego menu o jakim myślę można zobaczyć w dolnej części strony: dagma.com.pl

SmokAnalog
Oni zrobili to tak, że masz obrazek czarno-biały i pod nim tło kolorowe. Po najechaniu kursorem obrazek - ten czarno-biały - płynnie znika. Osobiście zrezygnowałbym z animacji, bo jednak różnica między czarno-białą a kolorową wersją tak małego obrazka jest mała i animacja jest niemal niewidoczna. Nie mówiąc o tym, że na wymienionej przez Ciebie stronie jest stanowczo zbyt wolna. Rozważ użycie sprite'ów: robisz jeden obrazek, w nim obie wersje logo jedna pod drugą lub jedna obok drugiej i element z właściwością :hover miałby jedynie inny background-position. To popularne rozwiązanie. Ma szereg zalet, a wadą jest to, że nie masz obrazka z pojedynczym logo, tylko dwa loga w jednym.
james8
Cytat(SmokAnalog @ 21.08.2012, 21:01:05 ) *
Oni zrobili to tak, że masz obrazek czarno-biały i pod nim tło kolorowe. Po najechaniu kursorem obrazek - ten czarno-biały - płynnie znika. Osobiście zrezygnowałbym z animacji, bo jednak różnica między czarno-białą a kolorową wersją tak małego obrazka jest mała i animacja jest niemal niewidoczna. Nie mówiąc o tym, że na wymienionej przez Ciebie stronie jest stanowczo zbyt wolna. Rozważ użycie sprite'ów: robisz jeden obrazek, w nim obie wersje logo jedna pod drugą lub jedna obok drugiej i element z właściwością :hover miałby jedynie inny background-position. To popularne rozwiązanie. Ma szereg zalet, a wadą jest to, że nie masz obrazka z pojedynczym logo, tylko dwa loga w jednym.


A można zrobić to w taki sposób.

Użyć tylko kolorowego obrazka, i użyć jakiegoś skryptu js, bądź właściwości css, aby manipulować na 'kryciu' bądź 'przeźroczystości' obrazka? Kiedyś też spotkałem się gdzieś z taką metodą, wie ktoś jak to zrobić?
SmokAnalog
Tak, można tak zrobić. CSS: opacity. Pamiętaj, że samym tym nie osiągniesz efektu czarno-białego obrazka, a jedynie przygaszony, choć to też ładny efekt smile.gif
james8
Cytat(SmokAnalog @ 21.08.2012, 21:01:05 ) *
Oni zrobili to tak, że masz obrazek czarno-biały i pod nim tło kolorowe. Po najechaniu kursorem obrazek - ten czarno-biały - płynnie znika. Osobiście zrezygnowałbym z animacji, bo jednak różnica między czarno-białą a kolorową wersją tak małego obrazka jest mała i animacja jest niemal niewidoczna. Nie mówiąc o tym, że na wymienionej przez Ciebie stronie jest stanowczo zbyt wolna. Rozważ użycie sprite'ów: robisz jeden obrazek, w nim obie wersje logo jedna pod drugą lub jedna obok drugiej i element z właściwością :hover miałby jedynie inny background-position. To popularne rozwiązanie. Ma szereg zalet, a wadą jest to, że nie masz obrazka z pojedynczym logo, tylko dwa loga w jednym.



Witaj SmokAnalog, próbowałem obu metod, z właściwością: opacity oraz spritów, te drugie wyglądają świetnie efekt przerósł moje oczekiwanie smile.gif

Jak skończę stronkę to na pewno się pochwalę smile.gif

Dziękuję i pozdrawiam!
SmokAnalog
Cieszę się smile.gif Dobry wybór, nie ma co się bawić w animację w tym przypadku. Jeśli będziesz dość często używał takiego zabiegu, to możesz sobie napisać w PHP skrypt tworzący taki obrazek dla sprite'a automatycznie.
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.