Utwórz animowane tło za pomocą HTML i CSS

Wprowadzenie animowanego tła do Twojej strony internetowej lub aplikacji to świetny sposób, aby nadać jej unikalny i intrygujący charakter. Pomysłowe tła mogą wywołać określone emocje i znacząco podnieść komfort użytkowania.

Istnieje wiele metod tworzenia animowanych teł, jednak połączenie standardowego HTML i CSS okazuje się wyjątkowo skuteczne. Zapoznaj się z przedstawionym przykładem, aby zrozumieć działanie kodu i zobaczyć na żywo demonstrację finalnego animowanego tła.

Struktura HTML – Krok po Kroku

Naszym celem jest stworzenie niebieskiego tła z bąbelkami, które powiększają się i unoszą ku górze. Efekt końcowy możesz podziwiać, klikając tutaj.

Zacznij od utworzenia sekcji z klasą „wrapper”, która będzie kontenerem naszej animacji.

Następnie, stwórz dziesięć elementów div, które będą reprezentować bąbelki. W każdym z tych elementów umieść span z klasą „dot”. Jeśli nie jesteś zaznajomiony z HTML, w zaledwie 10 minut możesz nauczyć się podstawowych znaczników.

 <body>
    <section class="wrapper">
        <h1>Animowane Tło</h1>
        <div><span class="dot"></span></div>
        <div><span class="dot"></span></div>
        <div><span class="dot"></span></div>
        <div><span class="dot"></span></div>
        <div><span class="dot"></span></div>
        <div><span class="dot"></span></div>
        <div><span class="dot"></span></div>
        <div><span class="dot"></span></div>
        <div><span class="dot"></span></div>
        <div><span class="dot"></span></div>
    </section>
</body>

Stylizacja z CSS

Chociaż można tworzyć interesujące efekty tła za pomocą samego HTML, w naszym projekcie CSS będzie kluczowy dla stylizacji i animacji tła.

Na początek, wyzeruj margines i dopełnienie, aby upewnić się, że tło będzie przylegać do krawędzi ekranu.

 * {
  margin: 0;
  padding: 0;
}

Następnie, nadaj styl sekcji nadrzędnej przy użyciu klasy „wrapper”. Sekcja ta powinna zajmować 100% szerokości i wysokości ekranu. Ustaw kolor tła na odcień niebieskiego i nadaj jej pozycję absolutną.

 .wrapper {
  height: 100%;
  width: 100%;
  background-color: #0066cc;
  position: absolute;
}

Element H1 również stylizujemy za pomocą absolutnej pozycji. Aby umieścić go na środku strony, najpierw ustawiamy jego lewą górną pozycję na 50%. Następnie używamy transformacji, aby przesunąć go o połowę jego szerokości i wysokości, tak aby jego środek znalazł się idealnie na środku.

 .wrapper h1 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  font-family: sans-serif;
  word-spacing: 2px;
  color: #fff;
  font-size: 2rem;
  font-weight: 900;
}

Przechodząc do elementów div, które będą pełnić rolę animowanych bąbelków, nadajemy im okrągły kształt, ustawiając wysokość, szerokość i obramowanie. Duży promień obramowania tworzy kształt koła. Dodatkowo, określamy czas trwania animacji za pomocą właściwości animacji CSS.

 .wrapper div {
    height: 60px;
    width: 60px;
    border: 2px solid rgba(255, 255, 255, 0.7);
    border-radius: 100px;
    position: absolute;
    top: 10%;
    left: 10%;
    animation: 4s linear infinite;
}

Stylizujemy również kropki, które będą miały 5 pikseli wysokości i szerokości. Nadajemy im zaokrąglone krawędzie i białe tło. Każda z nich jest umieszczona absolutnie, w prawym górnym rogu swojego elementu nadrzędnego (div).

 div .dot {
    height: 5px;
    width: 5px;
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.5);
    position: absolute;
    top: 20%;
    right: 20%;
}

Następnie, używając selektora „:nth-child”, przypisujemy różnym elementom div unikalne ustawienia. Animację nazwiemy „animate”, a definicję podamy później za pomocą „@keyframes”.

Używamy „:nth-child(2)”, aby odwołać się do pierwszego div-a, ponieważ element h1 jest pierwszym dzieckiem .wrapper.

 .wrapper div:nth-child(2) {
    top: 20%;
    left: 20%;
    animation: animate 8s linear infinite;
}

.wrapper div:nth-child(3) {
    top: 60%;
    left: 80%;
    animation: animate 10s linear infinite;
}

.wrapper div:nth-child(4) {
    top: 40%;
    left: 40%;
    animation: animate 3s linear infinite;
}

.wrapper div:nth-child(5) {
    top: 66%;
    left: 30%;
    animation: animate 7s linear infinite;
}

.wrapper div:nth-child(6) {
    top: 90%;
    left: 10%;
    animation: animate 9s linear infinite;
}

Ustawiając niższym div-om wyższe wartości procentowe, sprawimy, że będą one wznosiły się do góry w różnym tempie.

 .wrapper div:nth-child(7) {
    top: 30%;
    left: 60%;
    animation: animate 5s linear infinite;
}

.wrapper div:nth-child(8) {
    top: 70%;
    left: 20%;
    animation: animate 8s linear infinite;
}

.wrapper div:nth-child(9) {
    top: 75%;
    left: 60%;
    animation: animate 10s linear infinite;
}

.wrapper div:nth-child(10) {
    top: 50%;
    left: 50%;
    animation: animate 6s linear infinite;
}

.wrapper div:nth-child(11) {
    top: 45%;
    left: 20%;
    animation: animate 10s linear infinite;
}

Używamy „@keyframes” do płynnej zmiany rozmiaru i obrotu okręgów oraz kropek. W podanym kodzie, kropki obracają się o 70 stopni, a okręgi o 360. Taki obrót stwarza wrażenie ruchu bąbelków.

 @keyframes animate {
    0% {
        transform: scale(0) translateY(0) rotate(70deg);
    }
    100% {
        transform: scale(1.3) translateY(-100px) rotate(360deg);
    }
}

Możesz dodatkowo uatrakcyjnić swoje tła, wykorzystując wzory CSS. Umożliwiają one tworzenie fal, siatek, liści i innych interesujących motywów, które wzbogacą twoje animacje.

Animacja różnorodnych właściwości za pomocą CSS

Za pomocą CSS możemy tworzyć wiele rodzajów animacji, w tym zmieniać kolor tła czy opóźniać czas trwania animacji.

Dodatkowo, masz możliwość ustawienia częstotliwości odtwarzania animacji, nawet w trybie nieskończonym. Możesz również określić kierunek ruchu animacji: do przodu lub do tyłu. Eksperymentowanie z animacjami jest bardzo satysfakcjonujące i pozwala ożywić aplikacje w niesamowity sposób.


newsblog.pl