Przejdź do głównej treści
Grafika przedstawia ukryty obrazek

Jak stworzyć własny framework CSS na wzór Bootstrap 5: krok po kroku

Jak stworzyć własny framework CSS na wzór Bootstrap 5: krok po kroku

Frameworki CSS, takie jak Bootstrap, ułatwiają budowanie responsywnych, nowoczesnych interfejsów użytkownika. Ale co jeśli potrzebujesz czegoś lżejszego, prostszego, bardziej dopasowanego do Twoich potrzeb? W tym artykule pokażę Ci, jak stworzyć własny mini-framework CSS inspirowany Bootstrapem 5 – od planowania, przez kod, aż po gotowy plik CSS.

Dlaczego warto stworzyć własny framework?

  • Masz pełną kontrolę nad stylami i klasami
  • Framework może być lekki i szybki
  • Łatwiej go dostosować do konkretnego projektu
  • Uczysz się, jak działają takie systemy jak Bootstrap i Tailwind

Krok 1: Zaplanuj strukturę

Podstawowy framework powinien zawierać:

  • Reset CSS – wyzerowanie domyślnych styli przeglądarek
  • Siatkę (grid) – np. na bazie Flexboxa
  • Typografię – nagłówki, paragrafy, rozmiary czcionek
  • Komponenty bazowe – przyciski, kontenery
  • Klasy narzędziowe (utilities) – marginesy, paddings, wyrównania tekstu
  • Zmienna konfiguracja – np. kolory, odstępy

Krok 2: Utwórz strukturę plików

Tworzymy katalog projektu z plikami .scss:

/css-framework/
    scss/
        _reset.scss
        _variables.scss
        _grid.scss
        _typography.scss
        _buttons.scss
        _utilities.scss
        main.scss
    style.css (skompilowany plik wynikowy)

Krok 3: Kod SCSS – fragmenty

Zmienne (_variables.scss)

$primary: #0d6efd;
$secondary: #6c757d;
$danger: #dc3545;
$gray-900: #212529;

$font-size-base: 1rem;
$spacing: 1rem;

Reset (_reset.scss)

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
  font-family: sans-serif;
}

Grid (_grid.scss)

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

[class^="col-"] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  flex: 1 0 0%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

Typografia (_typography.scss)

body {
  font-size: $font-size-base;
  line-height: 1.5;
  color: $gray-900;
}

h1, h2, h3 {
  font-weight: 600;
  margin-bottom: 0.5rem;
}

Przyciski (_buttons.scss)

.button {
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  font-size: $font-size-base;
  border: none;
  cursor: pointer;

  &.primary {
    background-color: $primary;
    color: white;
  }

  &.danger {
    background-color: $danger;
    color: white;
  }
}

Utilities (_utilities.scss)

.m-1 { margin: 0.25rem !important; }
.p-1 { padding: 0.25rem !important; }
.text-center { text-align: center !important; }

.container {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem;
}

Import wszystkiego (main.scss)

@import "variables";
@import "reset";
@import "grid";
@import "typography";
@import "buttons";
@import "utilities";

Krok 4: Kompilacja SCSS do CSS

Aby skompilować main.scss do gotowego style.css, użyj terminala:

sass scss/main.scss style.css --style=expanded

Jeśli nie masz sass, zainstaluj go:

npm install -g sass

Krok 5: Demo HTML

Poniżej prosty plik HTML pokazujący użycie Twojego frameworka:

<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>Demo Frameworka CSS</title>
  <link rel="stylesheet" href="style.css" />
</head>
<body>

  <div class="container p-1">
    <h1 class="text-center">Mój Mini Framework CSS</h1>
    <div class="row mt-1">
      <div class="col-6 p-1">
        <h2>Lewa kolumna</h2>
        <button class="button primary">Akcja</button>
      </div>
      <div class="col-6 p-1">
        <h2>Prawa kolumna</h2>
        <button class="button danger">Usuń</button>
      </div>
    </div>
  </div>

</body>
</html>

Gotowy plik CSS

Możesz pobrać gotowy skompilowany plik CSS tutaj:

Pobierz style.css

Zobacz demo

Co dalej?

Twój framework możesz teraz:

  • Rozbudować o inne komponenty (karty, modale, formularze)
  • Opublikować na GitHubie jako open source
  • Zbudować wersję CDN (np. przez jsDelivr)
  • Podpiąć do własnych projektów lub dokumentacji

Podsumowanie

Stworzenie własnego frameworka CSS nie jest trudne – wystarczy dobra organizacja kodu, przemyślana struktura i kilka podstawowych komponentów. Dzięki temu zyskujesz lekki, szybki i własny zestaw narzędzi, który możesz rozwijać według własnych potrzeb.

29 maja 2025 6

Kategorie

programowanie

Dziękujemy!
()

Powiązane wpisy


Informacja o cookies

Moja strona internetowa wykorzystuje wyłącznie niezbędne pliki cookies, które są wymagane do jej prawidłowego działania. Nie używam ciasteczek w celach marketingowych ani analitycznych. Korzystając z mojej strony, wyrażasz zgodę na stosowanie tych plików. Możesz dowiedzieć się więcej w mojej polityce prywatności.