boro11
4.07.2011, 23:28:03
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
4.07.2011, 23:55:33
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)
function pokaz() {
document.... style.display = "block"
}
i analogiczna funkcja chowajaca tyle ze zamiast block - none
Damonsson
5.07.2011, 02:05:01
Będzie idiotyczniej, a nie profesjonalniej.
Co to jest efekt żaróweczki? Bo mnie zaciekawiłeś teraz.
phpion
5.07.2011, 06:54:02
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ą.
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
5.07.2011, 13:09:52
Ta IE6... - nawet nie patrz już na tę przeglądarkę...
boro11
5.07.2011, 14:09:13
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:
<li><a href="/?id=home">Home
</a></li> <li><img src="/images/strip.jpg" alt="strip"></li> <li><a href="/?id=home">Oferta
</a></li> <li><img src="/images/strip.jpg" alt="strip"></li> <li><a href="/?id=home">Galeria
</a></li> <li><img src="/images/strip.jpg" alt="strip"></li> <li><a href="/?id=home">Dojazd
</a></li> <li><img src="/images/strip.jpg" alt="strip"></li> <li><a href="/?id=home">Kontakt
</a></li>
i CSS:
#menu {
float : right;
overflow : hidden;
position : absolute;
margin-left : 275px;
margin-top : 35px;
word-spacing : 20px;
}
#menu a {
color : #fff;
font-size : 1.1em;
text-decoration : none;
font-weight : normal;
vertical-align : super;
}
#menu a:hover {
background : url(/images/tro.gif);
background-repeat : no-repeat;
}
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
5.07.2011, 21:42:58
Niestety ale to nie pomoga, obrazek nad wyswietla się tylko pod tekstem a nie nad nim..
Damonsson
5.07.2011, 21:56:43
Musisz przebudować to swoje całe menu, bo tak nie może być, wzoruj się na jakimś przykładzie.
boro11
5.07.2011, 22:43:11
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..
Damonsson
6.07.2011, 01:16:59
gregorali
6.07.2011, 08:49:16
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
6.07.2011, 16:10:54
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.