Menu

CSS padding: skrót, strony, procenty i przykłady

Padding to przestrzeń wewnątrz elementu, między jego treścią a obramowaniem. Poznaj skrócony zapis padding z 1 do 4 wartościami, właściwości dla pojedynczych stron, logiczny padding, procenty i to, jak padding zmienia rozmiar elementu.

Na tej stronie są działające edytory: edytuj, uruchamiaj i od razu zobacz wynik.

Czym jest padding

Padding to przestrzeń wewnątrz elementu, między jego treścią a obramowaniem. Przejmuje tło elementu, więc to właśnie ta właściwość daje przyciskowi, karcie czy plakietce miejsce na oddech.

Niebieski obszar to treść. Zielony pas wokół niej to 24px paddingu z każdej strony, a obramowanie jest na zewnątrz niego.

Skrót padding: 1, 2, 3 lub 4 wartości

padding ustawia wszystkie cztery strony w jednej deklaracji. Liczba wartości decyduje, która strona dostaje którą, zgodnie z ruchem wskazówek zegara od góry:

DeklaracjaGóraPrawoDółLewo
padding: 10px;10101010
padding: 10px 20px;10201020
padding: 10px 20px 30px;10203020
padding: 10px 20px 30px 40px;10203040

Dwie wartości oznaczają "pion, poziom". Trzy wartości oznaczają "góra, poziom, dół". Cztery idą dookoła zegara: góra, prawo, dół, lewo (po angielsku popularna mnemotechnika to TRouBLe).

Wpisz poniżej dowolny skrót. Pudełko narysuje się na nowo, a przeglądarka poda, co dostała każda strona:

Wypróbuj 8px, 8px 24px, 0 0 40px i 1em 5%. Nieprawidłowa wartość, na przykład -10px, jest ignorowana, a pudełko zachowuje ostatni poprawny padding.

Jedna strona naraz

Każda strona ma własną właściwość, co jest czytelniejsze niż skrót z czterema wartościami, gdy chcesz zmienić tylko jedną:

.card {
  padding-top: 16px;
  padding-right: 24px;
  padding-bottom: 16px;
  padding-left: 24px;
}

Skrót, po którym następuje jedna strona, to częsty wzorzec: ustaw wszystko, a potem popraw jedną stronę.

.card {
  padding: 16px;
  padding-bottom: 32px; /* only the bottom changes */
}

Kolejność ma tu znaczenie: skrót padding zapisany po padding-bottom przywróciłby dolny padding do 16px.

Logiczny padding: padding-inline i padding-block

padding-left i padding-right są fizyczne: w każdym języku zostają po tej samej stronie. Właściwości logiczne podążają za kierunkiem pisma, i właśnie tego potrzebujesz na stronie, która jest wyświetlana także od prawej do lewej:

Właściwość logicznaPo polsku (od lewej do prawej)Po arabsku (od prawej do lewej)
padding-inline-startlewoprawo
padding-inline-endprawolewo
padding-inlinelewo i prawoprawo i lewo
padding-blockgóra i dółgóra i dół

Padding powiększa pudełko (chyba że border-box)

Domyślnie width to szerokość samej treści, a padding dodaje się do niej. Pudełko z width: 200px i padding: 20px ma 240px szerokości:

box-sizing: border-box utrzymuje pudełko przy 200px i zabiera padding z jego wnętrza. Strona o modelu pudełkowym omawia pełne obliczenia.

Padding w procentach

Padding w procentach jest mierzony względem szerokości rodzica, na wszystkich czterech stronach, łącznie z górą i dołem:

Stąd wziął się stary trik "padding-top: 56.25%" dla pudełek wideo 16:9. Dziś aspect-ratio: 16 / 9 robi to samo bezpośrednio.

Padding na przyciskach i linkach

Padding to właściwy sposób na powiększenie linku lub przycisku, bo padding jest częścią elementu, a więc częścią tego, co można kliknąć lub dotknąć. Margin dodałby przestrzeń, ale nie większy cel.

.btn {
  display: inline-block; /* lets vertical padding take space in the line */
  padding: 10px 18px;    /* a comfortable touch target */
}

Wartości, które przyjmuje padding

WartośćPrzykładUwagi
Długość12px, 1rem, 0.5emem skaluje się z rozmiarem czcionki elementu
Procent5%Szerokości bloku zawierającego
0padding: 0Jednostka niepotrzebna
Ujemna-10pxNieprawidłowa, ignorowana
autoautoNieprawidłowa dla padding (działa dla margin)

Częste błędy

  • Zła kolejność w skrócie z czterema wartościami. To góra, prawo, dół, lewo, zgodnie z ruchem wskazówek zegara.
  • Pudełko, które rośnie po dodaniu paddingu. Ustaw box-sizing: border-box.
  • Używanie paddingu do oddzielenia dwóch elementów. Przestrzeń między elementami to margin; padding to przestrzeń wewnątrz jednego. Zobacz margin a padding.
  • Pionowy padding na linku liniowym, który zachodzi na inne linie. Nadaj mu inline-block.
  • Ujemny padding albo padding: auto. Oba są nieprawidłowe i po cichu ignorowane.

Najczęściej zadawane pytania

Czym jest padding w CSS?

Padding to przestrzeń między treścią elementu a jego obramowaniem. Jest częścią elementu, więc pokazuje jego kolor tła i powiększa klikalny obszar linku lub przycisku.

W jakiej kolejności są wartości w skrócie padding?

Zgodnie z ruchem wskazówek zegara od góry: padding: top right bottom left;. Przy trzech wartościach to góra, lewo i prawo, dół; przy dwóch góra i dół, potem lewo i prawo; przy jednej wszystkie cztery strony.

Czy padding zwiększa rozmiar elementu?

Przy domyślnym box-sizing: content-box tak: padding dodaje się do width i height. Przy box-sizing: border-box padding jest zabierany z wnętrza szerokości, więc element zachowuje ustawiony rozmiar.

Względem czego liczy się padding w procentach?

Względem szerokości bloku zawierającego, dla wszystkich czterech stron. padding-top: 50% to połowa szerokości rodzica, a nie jego wysokości, i dlatego stare triki z proporcjami używały pionowego paddingu.

Czy padding może być ujemny?

Nie. Ujemna wartość padding jest nieprawidłowa, a deklaracja zostaje zignorowana. Żeby wysunąć treść na zewnątrz, użyj zamiast tego ujemnego marginesu.

Jak dodać padding w HTML?

Przez CSS, w arkuszu stylów albo w atrybucie style: <div style="padding: 16px;">. HTML nie ma atrybutu padding dla zwykłych elementów; stary atrybut cellpadding w tabelach jest przestarzały i zastąpiło go padding na td i th.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ