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:
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:
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:
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):
border-block-width: liczba z jednostką długości lub słowo kluczowethin,mediumalbothick. Szczegółowy opis tych słów kluczowych znajduje się w opisie własności border-width. Wartość domyślna:medium.border-block-style: słowa kluczowenone,hidden,dotted,dashed,solid,double,groove,ridge,inset,outset. Szczegółowy opis tych słów kluczowych znajduje się w opisie własności border-style. Wartość domyślna:none.border-block-color: dowolny typ wartości koloru CSS. Wartość domyślna:currentcolor.
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
| Zastosowanie | Wszystkie elementy HTML i pseudoelement ::first-letter |
|---|---|
| Własności składowe | |
| Obsługiwane wartości | |
| Wartość początkowa | Wartości początkowe odpowiadają wartościom początkowym własności składowych, czyli:
|
| Dziedziczenie | Nie |
| Specyfikacja | CSS Logical Properties and Values Level 1 – border-block |
