Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][CSS]Problem z ładowaniem obrazków z CSS
derecyori
post 27.03.2011, 20:41:05
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 9.04.2008

Ostrzeżenie: (0%)
-----


Zanim o problemie to szybkie wprowadzenie. Na stronie mam menu zrobione jak poniżej:
  1. <li><a href="index.php?id=st"> <img src="style/img/tek.gif" border="0" alt="Strona główna" class="st"></a></li>


Klasa w css wygląda następująco:
  1. a .st {
  2. background:url(img/st.gif);
  3. }
  4. a:hover .st{background:url(img/st_h.gif);}
  5. a:active .st{background:url(img/st_h.gif);}


Najechanie kursorem na link powoduje zmianę obrazka. I teraz problem.
Przy najechaniu kursorem chwilę trwa zanim dogra się drugi obrazek. Czy jest jakaś metoda by wgrać obrazki przed pokazaniem strony tak by nie było widoczna ich podmiana ?
Zaznaczam, że to nie wina rozmiaru obrazka (2KB)


Zapomniałem dodać, że po dograniu drugiego obrazka problem już nie występuje.

Ten post edytował derecyori 27.03.2011, 20:42:20
Go to the top of the page
+Quote Post
Blame
post 27.03.2011, 20:45:21
Post #2





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

Ostrzeżenie: (0%)
-----


Polecam zapoznać się z tzw. CSS Sprites. Ogólnie idea jest taka, że obydwa tła umieszczasz w jednym pliku, jeden pod drugim albo obok, jak wolisz i potem ustawiasz sobie background-position wink.gif


--------------------
Go to the top of the page
+Quote Post
everth
post 27.03.2011, 20:47:45
Post #3





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Dwie metody - albo doczytać je Javascriptem, albo umieścić w kodzie strony <img> z hoverami i nadać im display:none (ew. atrybuty width i height ustawić na 0)

@UP
Sprajty - też dobry sposób

Ten post edytował everth 27.03.2011, 20:49:11


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
derecyori
post 28.03.2011, 20:32:52
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 9.04.2008

Ostrzeżenie: (0%)
-----


Na śmierć zapomniałem o CSS Sprite exclamation.gif! Aż wstyd się przyznać. Dzięki serdeczne dla Blame i Everth.

Temat można zamknąć. A dla potomnych rozwiązanie:

Plik css:
  1. a .link{
  2. background:url(img/obrazek.gif) 0px 0px no-repeat;
  3. width:163px;
  4. height:30px;
  5. margin: 0px 0px 0px 0px;
  6. }
  7. a:hover .link{background:url(img/obrazek.gif) 0px -30px no-repeat;}
  8. a:active .link{background:url(img/obrazek.gif) 0px -30px no-repeat;}


Obrazek to dwa połączone obrazki o rozmiarach 163 x 30 każdy.

Plik html:
  1. <ul>
  2. <li><a href="index.php" title="Strona główna"><img src="style/img/tek.gif" border="0" alt="Strona główna" class="link"></a></li>
  3. </ul>


Plik tek jest to przezroczysty plik o wymiarach 163x30.

Pozdrawiam.

Ten post edytował derecyori 28.03.2011, 20:36:24
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 4.06.2024 - 21:27