Uczymy się tworzyć kształt trójkąta za pomocą CSS. Poznajemy zmienne CSS oraz funkcję calc, za pomocą której napiszemy trójkąt o dowolnej wielkości. Do dzieła!

Podobnie jak w wielu innych przypadkach kształtów CSS, użyjemy elementu <div> o określonej klasie, który później ostylujemy w CSS:

<div class="triangle"></div>

Resetujemy style CSS, używamy flexboxa, aby wycentrować wszystkie elementy body (body musi mieć ustawioną wysokość):

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
:root {
    
  }
body {
  height: 100vh;
  background-color: antiquewhite;
  display: flex;
  justify-content: center;
  align-items: center;
}

Zostawiliśmy sobie pusty CSS ruleset na element root – w przyszłości będziemy tam trzymać naszą zmienną CSS. Na razie napiszmy trójkąt:

.triangle {
  width: 0;
  height: 0;
  border: 150px solid transparent;
  border-top: 0;
  border-bottom: 300px solid red;
}

Zasada tworzenia trójkąta w CSS dla leniwych:

  • wysokość i szerokość ustawione na zero
  • border – połowa podstawy trójkąta, kolor transparent
  • border-top ustawione na zero
  • border-bottom – podstawa trójkąta, tam ustawiamy kolor

Teraz możemy przenieść naszą podstawę do elementu root i trzymać ją jako zmienną:

:root {
  --triangle-bottom: 300px;
 }

Teraz użyjemy tej zmiennej w dwóch miejscach, czyli w border-bottom (pobierając wartość zmiennej za pomocą funkcji var) oraz w border, gdzie za pomocą calc obliczmy połowę podstawy:

.triangle {
  width: 0;
  height: 0;
  border: calc(var(--triangle-bottom)/2) solid transparent;
  border-top: 0;
  border-bottom: var(--triangle-bottom) solid red;
}

Teraz możemy odpalić devtoolsy, znaleźć tę zmienną i za pomocą strzałek zmniejszać lub zwiększać aż do pożądanej wartości.

Trójkąt utrzyma swój kształt. Podstawa będzie równa tej zmiennej, zaś boki połowie tej zmiennej, kształt pozostanie trójkątem.