Własność CSS border-block

> Dodaj do ulubionych

Własność CSS border-block to zbiorcza własność logiczna służąca do ustawiania szerokości, stylu i koloru obu krawędzi (początkowej i końcowej) obramowania w orientacji blokowej elementu. Ta własność niedziedziczona obejmuje następujące indywidualne logiczne własności obramowania:

Wybór krawędzi przez tę własność zależy od orientacji i kierunku tekstu. Jeśli na przykład tekst jest pisany od góry i od lewej (jak w języku polskim), to własność border-block odnosi się do górnej i dolnej krawędzi obramowania, a więc odpowiada własnościom fizycznym border-top i border-bottom.

Jeżeli natomiast tekst jest pisany od prawej do lewej i w orientacji pionowej (jak np. w języku japońskim), to własność border-block odpowiada własnościom fizycznym border-left i border-right.

Własności obejmowane przez własność border-block też są własnościami zbiorczymi, odnoszącymi się do obu logicznych krawędzi obramowania w orientacji blokowej. Dlatego za jej pomocą można w zwięzły sposób zdefiniować wygląd obu tych krawędzi elementu na raz, np.:

border-block: 1px solid black;

Ta deklaracja CSS jest równoważna trzem poniższym deklaracjom zbiorczym:

border-block-width: 1px;
border-block-style: solid;
border-block-color: black;

A nawet jest równoważna tym sześciu deklaracjom indywidualnym:

border-block-start-width: 1px;
border-block-start-style: solid;
border-block-start-color: black;
border-block-end-width: 1px;
border-block-end-style: solid;
border-block-end-color: black;

Jak widać, własność skrótowa border-block pozwala zaoszczędzić naprawdę dużo pracy.

Przykład

W tym przykładzie element nav będzie miał zielone przerywane obie krawędzie obramowania w orientacji blokowej o szerokości 5 pikseli:

nav {
  border-block: 5px dashed green;
  width: 200px;
  writing-mode: horizontal-tb;
  direction: ltr;
}
...
<nav>Lorem ipsum dolor sit amet.</nav>

Efekt:

Efekt użycia własności CSS border-block

Poniżej natomiast nadajemy elementowi header podwójne różowe obramowanie w orientacji blokowej o szerokości 10 pikseli.

header {
  border-block: 10px double lightpink;
  width: 200px;
  writing-mode: horizontal-tb;
  direction: ltr;
}
...
<header>Lorem ipsum dolor sit amet.</header>

Efekt:

Podwójne obramowanie dodane za pomocą własności border-block

Z kolei w następnym przykładzie element div ma przerywane obramowanie w orientacji blokowej o szerokości czterech pikseli. Jednak w tym przypadku tekst elementu ma orientację pionową i jest pisany od prawej, dlatego zdefiniowane krawędzie obramowania pojawiają się po lewej i prawej stronie elementu.

div {
  border-block: 4px dotted lightpink;
  width: 100px;
  writing-mode: vertical-rl;
 }
...
<div>Lorem ipsum dolor sit amet.</div>

Efekt:

Efekt zastosowania własności border-block do elementu z pionowym tekstem

Wartości i składnia

Własność border-block przyjmuje takie same wartości, jak jej własności składowe (wartości ujemne są niedozwolone):

Własność border-block przyjmuje jedną, dwie lub trzy z wymienionych powyżej wartości, a ich kolejność nie ma znaczenia, np. wszystkie poniższe deklaracje są równoważne.

border-block: 10px groove black;
border-block: black groove 10px;
border-block: groove 10px black;

Jeśli któraś wartość zostanie pominięta, to nadawana jest jej wartość początkowa. W praktyce oznacza to, że można pominąć tylko ustawienie szerokości i koloru, ponieważ pominięta własność stylu zostanie domyślnie ustawiona na none, co będzie oznaczało brak obramowania.

Zastosowanie

Własność border-block ma zastosowanie do wszystkich elementów HTML, a także do pseudoelementu ::first-letter.

Podsumowanie

ZastosowanieWszystkie elementy HTML i pseudoelement ::first-letter
Własności składowe
Obsługiwane wartości
Wartość początkowaWartości początkowe odpowiadają wartościom początkowym własności składowych, czyli:
DziedziczenieNie
SpecyfikacjaCSS Logical Properties and Values Level 1 – border-block