0Pricing
CSS Academy · Lekcja

Komponent karty z niestandardowymi właściwościami CSS

Zbuduj elastyczny komponent karty sterowany wyłącznie niestandardowymi właściwościami CSS, aby łatwo obsługiwać motywy.

Komponent karty z niestandardowymi właściwościami CSS to bezpłatna lekcja CSS Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej CSS Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs CSS Academy zawiera 4 lekcji w sumie.

Cele projektowe

Komponent card to samodzielny kontener na treść. Cele projektowe obejmują spójne dopełnienie z użyciem tokenów odstępów, kolorów dostosowywanych do motywu za pomocą tokenów aliasów, responsywne skalowanie bez JavaScriptu oraz obsługę wariantów (elevated, outlined, flat) za pomocą własnych właściwości CSS.

Podstawowa struktura card

Należy użyć pojedynczej klasy .card z własnymi właściwościami CSS dla konfigurowalnych wartości. Elementy wewnętrzne (header, body, footer) dziedziczą wartości z zakresu card. Ogranicza to rozbieżności stylów między instancjami card w całej bazie kodu.

<div class="card">
  <h3>Card Title</h3>
  <p>Card content styled via custom properties.</p>
</div>

Klasy wariantów

Należy nadpisywać własne właściwości na poziomie card za pomocą klas wariantów zamiast tworzyć oddzielne zestawy reguł. Klasy wariantów muszą definiować tylko zmienione zmienne — niezmienione właściwości automatycznie dziedziczą wartości bazowe bez powtórzeń.

<div class="card card--elevated">
  <p>Elevated variant</p>
</div>
<div class="card card--outlined">
  <p>Outlined variant</p>
</div>

Tworzenie motywu card

Gdy klasa motywu nadrzędnego zmieni --color-surface, wszystkie cardy znajdujące się w tym motywie automatycznie zaktualizują tło. Nie jest potrzebny kod zastępujący motyw dla poszczególnych cardów — system tokenów aliasów obsługuje to w sposób przejrzysty.

Responsywne odstępy wewnętrzne karty

Użyj clamp() z możliwością nadpisywania właściwości niestandardowych, aby uzyskać płynny padding: --card-padding: clamp(1rem, 4vw, 2rem). Większe obszary widoku otrzymają większy padding, a mniejsze — minimalny; wszystko jest sterowane z jednej definicji tokenu.

Układ siatki kart

Siatka kart wykorzystująca auto-fill CSS Grid wraz z minmax tworzy samoczynnie organizujący się układ: grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)). Karty wypełniają dostępną przestrzeń i automatycznie przechodzą do kolejnych wierszy bez punktów przerwania media queries.

Proporcje obrazu

Zachowaj spójne proporcje obrazów kart, ustawiając aspect-ratio: 16/9 na kontenerze obrazu. Obrazy wypełniają kontener dzięki object-fit: cover, co zapewnia jednakową wysokość kart niezależnie od wymiarów obrazów źródłowych.

Stany interakcji

Dodaj stany hover i focus-within, które lekko unoszą kartę: transform: translateY(-2px) oraz zwiększony box-shadow. Animuj je za pomocą transition: transform 200ms ease, box-shadow 200ms ease, aby uzyskać płynną informację zwrotną przyjazną dla compositora.

Dostępne linki w kartach

Uczyń całą kartę klikalną za pomocą rozciągniętego linku: ustaw kartę jako pozycjonowaną relatywnie, a główny link pozycjonuj absolutnie za pomocą inset: 0. Czytniki ekranu odczytają tekst linku, a nakładka wizualnie pokryje kartę dla użytkowników myszy.

Stan ładowania

Dodaj wariant .card--loading, który zastępuje zawartość szkieletem z efektem shimmer, wykorzystując animację CSS: background: linear-gradient(90deg, var(--color-skeleton-from), var(--color-skeleton-to)) animowaną za pomocą background-size: 200% i animation: shimmer 1.5s infinite.

Karta w trybie ciemnym

W trybie ciemnym token --color-surface automatycznie zmienia się z jasnego na ciemny. Jeśli karty z efektem uniesienia polegają na box-shadow, aby uzyskać głębię, a efekt ten zanika na ciemnych tłach, dodaj subtelne obramowanie lub zwiększ kontrast koloru powierzchni, aby zachować wrażenie uniesienia kart w trybie ciemnym.

Sprawdzenie wiedzy

W jaki sposób właściwości niestandardowe CSS umożliwiają tworzenie wariantów kart bez powielania całego zestawu reguł?

Podsumowanie

Utworzenie komponentu karty za pomocą właściwości niestandardowych CSS daje elastyczny, możliwy do dostosowania do motywu i obsługujący warianty podstawowy element interfejsu. Zmienne bazowe określają wartości domyślne, klasy wariantów selektywnie je nadpisują, a klasy motywów nadpisują je globalnie. W połączeniu z responsywnym rozmiarem, dostępnymi linkami i stanami ładowania wzorzec ten dobrze skaluje się w systemach projektowych.

Często zadawane pytania

Czy lekcja „Komponent karty z niestandardowymi właściwościami CSS” jest bezpłatna?

Tak — pełny tekst „Komponent karty z niestandardowymi właściwościami CSS” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu CSS Academy, przejdź na CoddyKit PRO. Kurs CSS Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Komponent karty z niestandardowymi właściwościami CSS”?

Zbuduj elastyczny komponent karty sterowany wyłącznie niestandardowymi właściwościami CSS, aby łatwo obsługiwać motywy. Ćwiczysz CSS Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć CSS Academy?

Nie wymagamy żadnego doświadczenia. CSS Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Komponent karty z niestandardowymi właściwościami CSS”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji CSS Academy?

Tak. Każda lekcja CSS Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Komponent karty z niestandardowymi właściwościami CSS
  2. Stylowanie modali i okien dialogowych
  3. Wzorce menu rozwijanych i popoverów
  4. Komponent kart z użyciem :checked a JavaScript
← Powrót do CSS Academy