Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS] Hover nad menu
Forum PHP.pl > Forum > Przedszkole
boro11
Witam potrzebuję zrobić menu w którym po najechaniu na przycisk nad buttonem pokaże się mały trójkącik. Wygląda to tak:


Oczywiście mogę to zrobić na hoverach ale tak będzie chyba bardziej profesjonalniej, co o tym sądzicie?

Proszę o wskazówki czego szukać, bo ja nie mam zupełnie pomysłu..
MateuszS
div - obrazek z trojkacikiem na fioletowym tle - prosta funkcja w JS a raczej dwie i zdarzenie na divie onMouseOver (f. pokazujaca) i onMouseOut (f. chowajaca)

[JAVASCRIPT] pobierz, plaintext
  1. function pokaz() {
  2. document.... style.display = "block"
  3. }
[JAVASCRIPT] pobierz, plaintext


i analogiczna funkcja chowajaca tyle ze zamiast block - none
Damonsson
Będzie idiotyczniej, a nie profesjonalniej.

Co to jest efekt żaróweczki? Bo mnie zaciekawiłeś teraz.
phpion
Najlepiej to będzie zrobić właśnie w CSS poprzez element:hover {} i podmianę/ustawienie tła elementu. Babranie się przy tym z JS trąci amatorszczyzną.
ult
Tyle, że element w tym przypadku, to powinien być <a>, bo - jak dobrze pamiętam - któreś z IE ma problem np. z li:hover
kamil4u
Ta IE6... - nawet nie patrz już na tę przeglądarkę...
boro11
Postarałem się zrobić tak jak radziliście jednak napotkałem na pierwszy i ma nadzieje ostatni problem. Otóż podczas podmiany tła rzeczywiście trójkącik się pojawia, ale niestety po samym napisem z menu. Wygląda to tak:
http://weselnydom.radom.pl/

Próbowałem wgrać większy obrazek tzn. z dłuższym przezroczystym paskiem na dole żeby niejako podnieśc trójkącik ale to niestety nic nie daje. Kombinowałem z margin-top itp. ale to również nie przynosi efektu..

Kod odpowiedzialny za tworzenie menu:

  1. <div id="menu">
  2.  
  3. <ul>
  4. <li><a href="/?id=home">Home</a></li>
  5. <li><img src="/images/strip.jpg" alt="strip"></li>
  6. <li><a href="/?id=home">Oferta</a></li>
  7. <li><img src="/images/strip.jpg" alt="strip"></li>
  8. <li><a href="/?id=home">Galeria</a></li>
  9. <li><img src="/images/strip.jpg" alt="strip"></li>
  10. <li><a href="/?id=home">Dojazd</a></li>
  11. <li><img src="/images/strip.jpg" alt="strip"></li>
  12. <li><a href="/?id=home">Kontakt</a></li>
  13. </ul>


i CSS:

  1. #menu {
  2. float : right;
  3. overflow : hidden;
  4. position : absolute;
  5. margin-left : 275px;
  6. margin-top : 35px;
  7. word-spacing : 20px;
  8. }
  9. #menu a {
  10. color : #fff;
  11. font-size : 1.1em;
  12. text-decoration : none;
  13. font-weight : normal;
  14. vertical-align : super;
  15. }
  16. #menu a:hover {
  17. background : url(/images/tro.gif);
  18. background-repeat : no-repeat;
  19. }
ult
Ustaw tło dla li:hover, skoro robisz to na liście. Ewentualnie wywal listę i ustaw display:block dla a, a później dla niego odpowiednio width/height/padding, tak, żeby strzałka pasowała.
boro11
Niestety ale to nie pomoga, obrazek nad wyswietla się tylko pod tekstem a nie nad nim..
Damonsson
Musisz przebudować to swoje całe menu, bo tak nie może być, wzoruj się na jakimś przykładzie.
boro11
Tylko skąd taki przykład wziąć, kiedyś już coś takiego zrobiłem ale oparte na obrazkach a nie tekście, tutaj jednak wolałbym żeby był to tekst..
gregorali
Zerknij na www.casaverde.com.pl
Czy o takie wyświetlanie ci chodziło?
Oczywiście tekst TU JESTEŚ możesz zamienić na obrazek.
boro11
Nie, chodzi mi poprostu aby ten trójkącik pojawiał jak nad najechany przyciskiem tak jest jest teraz nad Strona Główna
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.