9.10. Szerokość obramowania (border-width)
Wprowadzenie: Definiowanie grubości linii
Obramowanie elementu (border) składa się z trzech podstawowych aspektów: szerokości (grubości), stylu linii oraz koloru. Właściwość border-width służy do określania **grubości** linii obramowania.
Sama właściwość border-width nie wystarczy, aby obramowanie było widoczne. Musi być również ustawiony styl obramowania (border-style) na wartość inną niż none (domyślna).
Wartości border-width
Właściwość border-width może przyjmować:
- Słowa kluczowe:
thin: Cienkie obramowanie (zazwyczaj 1px, ale zależy od przeglądarki).medium: Średnie obramowanie (domyślne, zazwyczaj 3px).thick: Grube obramowanie (zazwyczaj 5px).
- Wartości długości: Dowolna jednostka długości CSS, np.
px,em,rem. Najczęściej używa się pikseli (px). Wartości nie mogą być ujemne. Np.border-width: 2px;,border-width: 0.1em;.
<div class="box width-example thin-border">thin</div>
<div class="box width-example medium-border">medium (domyślne)</div>
<div class="box width-example thick-border">thick</div>
<div class="box width-example px-border">4px</div>
<div class="box width-example em-border">0.2em</div>
.width-example {
padding: 15px;
margin-bottom: 10px;
border-style: solid; /* Styl musi być ustawiony, aby szerokość była widoczna */
border-color: navy;
}
.thin-border { border-width: thin; }
.medium-border { border-width: medium; }
.thick-border { border-width: thick; }
.px-border { border-width: 4px; }
.em-border { border-width: 0.2em; font-size: 1.2em; /* Grubość zależy od rozmiaru czcionki */ }
Ustawianie szerokości dla poszczególnych krawędzi
Podobnie jak w przypadku padding i margin, można ustawić różną szerokość dla każdej z czterech krawędzi obramowania za pomocą jednej właściwości border-width, podając od jednej do czterech wartości:
- Jedna wartość: (np.
border-width: 2px;) - Wszystkie cztery krawędzie mają tę samą szerokość. - Dwie wartości: (np.
border-width: 5px 10px;) - Pierwsza wartość dla górnej i dolnej krawędzi, druga dla lewej i prawej. - Trzy wartości: (np.
border-width: 2px 6px 10px;) - Pierwsza dla górnej, druga dla lewej i prawej, trzecia dla dolnej. - Cztery wartości: (np.
border-width: 1px 3px 5px 7px;) - Kolejno: górna, prawa, dolna, lewa (zgodnie z ruchem wskazówek zegara).
.multi-width-border {
border-style: solid;
border-color: purple;
/* Góra: 2px, Prawa: 4px, Dół: 6px, Lewa: 8px */
border-width: 2px 4px 6px 8px;
padding: 20px;
}
Istnieją również indywidualne właściwości do ustawiania szerokości konkretnej krawędzi:
border-top-widthborder-right-widthborder-bottom-widthborder-left-width
Każda z nich przyjmuje tylko jedną wartość (słowo kluczowe lub długość).
.individual-widths {
border-style: solid;
border-color: green;
border-top-width: thick;
border-right-width: 1px;
border-bottom-width: 8px;
border-left-width: medium;
padding: 20px;
}
Zadania praktyczne
Zadanie 1 (z rozwiązaniem)
Nadaj elementowi div ciągłe obramowanie (border-style: solid;) o grubości thick.
Rozwiązanie:
HTML:
<div class="thick-solid-border">Grube, ciągłe obramowanie</div>
CSS:
.thick-solid-border {
padding: 15px;
border-style: solid;
border-width: thick;
border-color: tomato; /* Dodajmy kolor dla lepszej widoczności */
}
Efekt: Element będzie miał grube (prawdopodobnie 5px), ciągłe obramowanie w kolorze pomidorowym.
Zadanie 2 (do samodzielnego wykonania)
Nadaj elementowi div obramowanie, które będzie miało 10px grubości na górze i na dole, oraz 2px grubości po bokach. Użyj jednej właściwości border-width.
Zadanie 3 (do samodzielnego wykonania)
Użyj indywidualnych właściwości (border-top-width, border-right-width itd.), aby nadać elementowi div obramowanie o różnej grubości na każdej krawędzi (np. 1px, 2px, 3px, 4px).
FAQ - Najczęściej zadawane pytania
Jaka jest domyślna wartość border-width?
Domyślną wartością jest medium. Jednakże, ponieważ domyślną wartością dla border-style jest none, obramowanie o średniej grubości nie będzie domyślnie widoczne.
Czy mogę użyć wartości procentowych dla border-width?
Nie, wartości procentowe nie są dozwolone dla border-width. Należy używać słów kluczowych (thin, medium, thick) lub jednostek długości (px, em, rem itp.).
Co się stanie, jeśli ustawię border-width, ale nie ustawię border-style?
Obramowanie nie będzie widoczne. Właściwość border-style musi być ustawiona na wartość inną niż none (np. solid, dashed, dotted), aby obramowanie o określonej szerokości i kolorze mogło zostać narysowane.
Jak border-width wpływa na całkowity rozmiar elementu?
Szerokość obramowania jest dodawana do wymiarów elementu, chyba że używasz box-sizing: border-box;. Przy domyślnym box-sizing: content-box;, element o width: 100px; i border-width: 5px; będzie miał całkowitą szerokość 110px (100px + 5px lewego obramowania + 5px prawego obramowania).