Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS] Animacja menu (li, ul)
Forum PHP.pl > Forum > Przedszkole
in5ane
Cześć, chcę zrobić (tylko nie wiem, jak), aby moje menu, jak się pokazuje to była taka mała animacja (tzn., żeby się tak powolutku wysuwało). Kombinowałem z transition w CSS, ale nie działało mi to. Proszę o pomoc. Mój obecny kod:
  1. ul#css3menu1,ul#css3menu1 ul{
  2. margin:0;list-style:none;padding:0;}
  3. ul#css3menu1 ul{
  4. display:none;position:absolute;left:0;bottom:100%;padding:0 11px;}
  5. ul#css3menu1 li:hover>*{
  6. display:block;}
  7. ul#css3menu1 li{
  8. position:relative;display:block;white-space:nowrap;font-size:0;float:left;}
  9. ul#css3menu1 li:hover{
  10. z-index:1;}
  11. ul#css3menu1{
  12. font-size:0;z-index:999;position:relative;display:inline-block;zoom:1;padding:0;
  13. *display:inline;}
  14. * html ul#css3menu1 li a{
  15. display:inline-block;}
  16. ul#css3menu1>li{
  17. margin:0;}
  18. ul#css3menu1 a:active, ul#css3menu1 a:focus{
  19. outline-style:none;}
  20. ul#css3menu1 a{
  21. display:block;vertical-align:middle;text-align:left;text-decoration:none;font:18px Bodega;color:#7e7e7e;cursor:pointer;padding:5px 15px 15px 15px;background-repeat:repeat;background-position:0 0;}
  22. ul#css3menu1 ul li{
  23. float:none;}
  24. ul#css3menu1 ul a{
  25. text-align:left;padding:4px;font:18px Bodega;color:#FFC060;text-decoration:none;}
  26. ul#css3menu1 li:hover>a,ul#css3menu1 li a.pressed{
  27. color:#FFFFFF;background-position:0 100px;text-decoration:none;}
  28. ul#css3menu1 span{
  29. display:block;overflow:visible;background-position:right center;background-repeat:no-repeat;padding-right:0px;}
  30. ul#css3menu1 ul li:hover>a,ul#css3menu1 ul li a.pressed{
  31. color:#FFFFFF;text-shadow: 0 0 0.2em #ffffff;text-decoration:none;}


  1. <ul id="css3menu1" class="topmenu">
  2. <li class="topfirst"><a href="#" style="height:17px;line-height:17px;"><span>asd</span></a>
  3. <ul>
  4. <li><a href="#">asdf</a></li>
  5. <li><a href="#">asdf</a></li>
  6. <li><a href="#">asdf</a></li>
  7. <li><a href="#">asdf</a></li>
  8. <li><a href="#">asdf</a></li>
  9. </ul>
  10. </li>
  11. </ul>
in5ane
No mam taki kod:
  1. -webkit-transition: opacity .5s ease-in-out;
  2. -moz-transition: opacity .5s ease-in-out;
  3. -o-transition: opacity .5s ease-in-out;


Gdzie mam go dodać? Próbowałem już do wszystkiego po kolei w CSS i mi nie działa. Menu nie wysuwa się tylko się pokazuje (tak normalnie). Proszę o pomoc, muszę to raz dwa trzy zrobić. Z góry thx smile.gif
viking
Wyrzuć display:none i ustaw opacity.
in5ane
Coś takiego kolego?
  1. ul#css3menu1 ul {
  2. /*display: none;*/
  3. opacity: 0;
  4. -webkit-transition: opacity .1s ease-in-out;
  5. -moz-transition: opacity .1s ease-in-out;
  6. -o-transition: opacity .1s ease-in-out;
  7. position: absolute;
  8. left: 0;
  9. bottom: 100%;
  10. padding: 0 11px;
  11. }

To nie śmiga, a przy opacity: 1 wszystko jest od razu rozwinięte.

Dodałem jeszcze opacity: 1 dla hovera i chyba działa, zaraz dam znać.

Działa, dzięki za pomoc.

A mam jeszcze jedno pytanie. Można do tego menu dodać jakoś ajax, żeby to poza tym, że tak się fajnie pokazuje, to jeszcze tak płynnie wyjeżdżało?

Koledzy zrobiłem sobie coś takiego:
[JAVASCRIPT] pobierz, plaintext
  1. <script>
  2. $(document).ready(function(){
  3. $("#css3menu1>li>ul").hide();
  4. $("ul#menu>li a").mouseover(function(){
  5. $(this).next("ul").slideDown('1000');
  6. $(this).next("ul").addClass("current_submenu");
  7. });
  8. $(".submenu>li").click(function(){
  9. $(".current_submenu").slideUp('1000');
  10. });
  11. });
  12. </script>
[JAVASCRIPT] pobierz, plaintext

Jednakże to działa tylko raz. Jak już się wysunie i się schowa to już później jest bez wysuwania (chyba, że odświeżę stronę).



@EDIT: już nie trzeba pomoc. Pozdrawiam.

Och, przepraszam, że jeszcze tak truję.
Napisałem sobie kod:
[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $("#css3menu1>li>ul").hide();
  4. $("ul#css3menu1>li").hover(function() { $(this).find("ul").slideToggle(1000); });
  5. });
  6. </script>
[JAVASCRIPT] pobierz, plaintext

No i to menu rozwija mi się, ale nie zwija się. I w ogóle czasem się przytnie jakoś dziwnie. Tu są jakieś błędy? A może to inaczej lepiej zrobić?
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.