Skocz do zawartości

Zdjęcie
* * * * * 1 głosy

CSS: Hover przy użyciu dwóch obrazków

css3hover hover dla img img

Najlepsza odpowiedź programer, 03 listopada 2013 - 12:30

<div class="pic"><a href="http://google.pl"></a></div>
.pic {
   width:100px;
   height:100px;
   display: block;
   background:url('pic.jpg');
}
.pic:hover{
   background:url('pic2.jpg');
}
Ważne aby określić rozmiar obrazka w css. Przejdź do postu


12 odpowiedzi w tym temacie
  • Zamknięty Temat jest zamknięty
light

    Użytkownik

  • 71 postów
    • :
9
Neutralna

Napisano 02 listopada 2013 - 20:23

#1

Na swojej stronie mam wstawione podlinkowane obrazki partnerów. Chciałbym aby po najechaniu na taki obrazek zmieniał on swoją zawartość na inny obrazek. Nie bardzo jednak wiem jak na tag <img> nałożyć hover.


  • 0

programer

    Stary wyjadacz

  • PipPipPip
  • 135 postów
    • Czas spędzony online: 51m 31s
40
Bardzo dobra

Napisano 03 listopada 2013 - 12:30   Najlepsza odpowiedź

#2
<div class="pic"><a href="http://google.pl"></a></div>
.pic {
   width:100px;
   height:100px;
   display: block;
   background:url('pic.jpg');
}
.pic:hover{
   background:url('pic2.jpg');
}
Ważne aby określić rozmiar obrazka w css.
  • 2

light

    Użytkownik

  • 71 postów
    • :
9
Neutralna

Napisano 03 listopada 2013 - 12:49

#3

Dzięki. Działa. Można zamknąć.


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 04 listopada 2013 - 12:47

#4

Zdecydowanie nie!

 

Swoją drogą tutaj obrazek nie będzie linkował linkiem z 'a hrefa'

 

Po 1. hoverów nie robi się na różnych obrazkach - wyobrażasz sobie sytuację że ktoś robi hovera, serwer/internet ma powiedzmy czkawkę, przez co odwiedzający przez jakiś czas nie widzi ani starego, ani nowego obrazka

 

Po 2. Co jeżeli obrazki mają różne rozmiary? To już lepiej zrobić to w js:

<img id="obrazek" src="obrazek1.png" data-hover="obrazek2.png" />
<script>
$('#obrazek').hover(function(){
  var img = $(this).attr('src');
  $(this).attr('src', $(this).attr('data-hover') );
  $(this).attr('data-hover',img);
},function(){
  var img = $(this).attr('src');
  $(this).attr('src', $(this).attr('data-hover') );
  $(this).attr('data-hover',img);
})
</script>

  • 2

webDeveloper


writen

    Stary wyjadacz

  • 458 postów
    • Czas spędzony online: 29d 22h 59m 44s
133
Znakomita!

Napisano 04 listopada 2013 - 20:54

#5

 

 

Po 1. hoverów nie robi się na różnych obrazkach - wyobrażasz sobie sytuację że ktoś robi hovera, serwer/internet ma powiedzmy czkawkę, przez co odwiedzający przez jakiś czas nie widzi ani starego, ani nowego obrazka

Właśnie, lepiej gdyby to było w jednym pliku graficznym. Ale jak już się uprzemy to pamiętać należy, aby obrazek był zapisany z przeplotem (png) lub progresywnie w jpg.

Zawsze mnie to wkurza, gdy grafika ładuje się od góry do dołu. 


  • 0

logo-green-dark.png


light

    Użytkownik

  • 71 postów
    • :
9
Neutralna

Napisano 06 listopada 2013 - 11:12

#6

Wolałbym dwa obrazki z racji tego, że nie uda mi się takiego efektu osiągnąć css. Java scriptu nie znam i nie bardzo rozumiem kod przesłany przez unbreak.


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 06 listopada 2013 - 16:54

#7

Jakiego efektu?


  • 0

webDeveloper


neo

    Użytkownik

  • 65 postów
    • :
2
Neutralna

Napisano 16 listopada 2013 - 11:34

#8

A jak mam przykładowo box z partnerami na forum. Domyślnie chcę, żeby były wszystkie w kolorze jasnoszarym, a po najechaniu żeby pokazywały się w pełnym kolorze jak na obrazku. Da radę to w css? Próbowałem nałożyć kolor, ale to obrazki w .png bez tła,  a kolor nakładał się na cały obszar obrazka, czyli na pełen prostokąt.


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 16 listopada 2013 - 18:17

#9

Np: https://github.com/j...query-grayscale


  • 3

webDeveloper


zonic

    WT Elite

  • 2 911 postów
    • Czas spędzony online: 134d 2h 28m 23s
472
Znakomita!
  • LocationToruń

Napisano 16 listopada 2013 - 18:20

#10

Np: https://github.com/j...query-grayscale


I tak jak kolega chciał, to zostawi przezroczyste tło w spokoju? :)

PS: Chyba stworze do tego osobny wątek i podepnę. Bardzo ciekawe narzędzie :)
  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 17 listopada 2013 - 12:15

#11

Z tego co pamiętam to oczywiście że tak :)


  • 2

webDeveloper


light

    Użytkownik

  • 71 postów
    • :
9
Neutralna

Napisano 23 listopada 2013 - 13:16

#12

A jak tego użyć? Tam pisze, że tak:

 

$('img').grayscale();

Co mam wstawić zamiast 'img' ? ID obrazka? klasę daych obrazków jeśli mam kilka? Bo nie chce działać :(


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 24 listopada 2013 - 18:34

#13

Wszystko zależy jakie masz źródło html.

Najpewniej przy takim htmlu:

<img src="obrazek1.png" alt="" class="clasa_obrazkow" />
<img src="obrazek2.png" alt="" class="clasa_obrazkow" />
<img src="obrazek3.png" alt="" class="clasa_obrazkow" />
...

będzie to coś w rodzaju:

$('img.clasa_obrazkow').grayscale();

  • 0

webDeveloper






Podone tematy Collapse

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych