• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd w przycisku :hover

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
277 wizyt
pytanie zadane 13 marca w HTML i CSS przez oleksik Użytkownik (610 p.)

Witam,

Pisze z pytaniem o drobną pomoc. Mianowicie zrobiłem przycisk w css. Dałem mu funkcje hover oraz zrobiłem animacje w keyframes. Dodałem go do kodu html lecz nic nie działa. Animacja nie może się uruchomić. Poniżej zamieszczę kod do html i css aby pokazać jak to napisałem. Może ktoś bardziej ogarnięty odemnie będzie wiedział co jest nie tak.

HTML

<button class="meni">
            <img src="file:///C:/Users/oleks/Downloads/1000_F_224136032_b11na6zJLTpORSjfauRdpKamQDc7Uejv-Photoroom.png-Photoroom__1_-removebg-preview.png" style="height: 70px; width: 70px; margin-left: -0.2cm;">
 </button>

---------------------------------------------------------------------------------------------------------------------------------------------------------

CSS
 

.meni{
            height: 70px;
            width: 70px;
            z-index: 999;
            position: fixed;
            
        }

        @keyframes meni {
            10%{
                background-color: rgb(0, 253, 0);
            }
            20%{
                background-color: rgb(2, 215, 2);
            }
            30%{
                background-color: rgb(1, 172, 1);
            }
            40%{
                background-color: rgb(0, 126, 0);
            }
            50%{
                background-color: rgb(2, 100, 2);
            }
            60%{
                background-color: rgb(1, 80, 1);
            }
            70%{
                background-color: rgb(0, 60, 0);
            }
            80%{
                background-color: rgb(0, 36, 0);
            }
            90%{
                background-color: rgb(0, 20, 0);
            }
            100%{
                background-color: rgb(0, 12, 0);
            }
        }

        .meni:hover{
            animation: meni 3s forwards;
        }

 

1 odpowiedź

+1 głos
odpowiedź 13 marca przez VBService Ekspert (256,320 p.)
edycja 13 marca przez VBService

W .meni (ciekawa nazwa wink) ustal wartość "początkową" dla background-color na np. transparent

[ kod przykładu on-line ]

<button class="meni">
  <!-- <img src="file:///C:/Users/oleks/Downloads/1000_F_224136032_b11na6zJLTpORSjfauRdpKamQDc7Uejv-Photoroom.png-Photoroom__1_-removebg-preview.png" 
            style="height: 70px; width: 70px; margin-left: -0.2cm;"> -->
  <img src="https://picsum.photos/id/169/800/562">  
</button>
.meni {
  height: 70px;
  width: 70px;
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0;
  overflow: hidden;
  background-color: transparent;
}
.meni img {
  height: 100%; 
  width: 100%;
  /* margin-left: -0.2cm; */  
  object-fit: fill;

  /* dla prezentacji */
  margin-left: -2rem;
}
.meni:hover {
  animation: meni 3s forwards;
}
@keyframes meni {
  10% {
    background-color: rgb(0, 253, 0);
  }
  20% {
    background-color: rgb(2, 215, 2);
  }
  30% {
    background-color: rgb(1, 172, 1);
  }
  40% {
    background-color: rgb(0, 126, 0);
  }
  50% {
    background-color: rgb(2, 100, 2);
  }
  60% {
    background-color: rgb(1, 80, 1);
  }
  70% {
    background-color: rgb(0, 60, 0);
  }
  80% {
    background-color: rgb(0, 36, 0);
  }
  90% {
    background-color: rgb(0, 20, 0);
  }
  100% {
    background-color: rgb(0, 12, 0);
  }
}

 

 

 

BTW, jeżeli nie zależy Tobie na jakiś konkretnych kolorach w animacji między pierwszym kolorem a drugim, może zapisz np. tak:

@keyframes meni {
  from { background-color: rgb(0, 253, 0); }
    to { background-color: rgb(0, 12, 0); }
}

lub

@keyframes meni {
  0%   { background-color: rgb(0, 253, 0); }
  100% { background-color: rgb(0, 12, 0); }
}

lub

@keyframes meni {
  10%  { background-color: rgb(0, 253, 0); }
  100% { background-color: rgb(0, 12, 0); }
}

"przejścia" poszczególnych odcieni kolorów "obliczy" wtedy sama przeglądarka.

komentarz 14 marca przez Eimens Maniak (69,240 p.)
Masz element 70px na 70px.

Na tym elemencie masz na całej wielkości grafiką.

Zmieniasz kolor, który jest pod grafiką :) Animacja prawdopodobnie działa. Usuń grafikę i sprawdź.
komentarz 14 marca przez Eimens Maniak (69,240 p.)
Dodatkowo dodaj jakąś wartość background-color dla elementu .meni

 

Animacja tylko zmienia te wartość, jeżeli nie ustawisz początkowej to animacje się nie uruchomi :)

Podobne pytania

+1 głos
2 odpowiedzi 885 wizyt
pytanie zadane 22 czerwca 2016 w HTML i CSS przez Krzysiek_34 Mądrala (6,350 p.)
+1 głos
1 odpowiedź 230 wizyt
pytanie zadane 23 października 2023 w HTML i CSS przez new_user Użytkownik (640 p.)
0 głosów
1 odpowiedź 362 wizyt
pytanie zadane 5 lipca 2023 w HTML i CSS przez new_user Użytkownik (640 p.)

93,187 zapytań

142,203 odpowiedzi

322,017 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2169p. - Marcin Putra
  9. 2164p. - Adrian Wieprzkowicz
  10. 2006p. - Michal Drewniak
  11. 1901p. - Mikbac
  12. 1806p. - Dawid128
  13. 1744p. - rafalszastok
  14. 1734p. - Anonim 3619784
  15. 1487p. - Michał Telesz
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...