Betű vastagság
A betűvastagság (font-weight)
CSS tulajdonság beállítja a betűtípus nyomatékosságát, vastagságát (angolul "weight" vagy "boldness"). Az elérhető betűvastagság méretek a beállított betűtípustól (font-family
(en-US)) függenek.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Szintaxis
/* Kulcsszavas értékek */
font-weight: normal; // normál vastagság
font-weight: bold; // félkövér
/* Kulcsszavas értékek a szülő elemhez viszonyítva */
font-weight: lighter;
font-weight: bolder;
/* Numerikus értékek */
font-weight: 100;
font-weight: 200;
font-weight: 300;
font-weight: 400; // normál
font-weight: 500;
font-weight: 600;
font-weight: 700; // félkövér
font-weight: 800;
font-weight: 900;
/* Globális értékek */
font-weight: inherit;
font-weight: initial;
font-weight: unset;
A betűvastagság (font-weight)
tulajdonság bármely fentebb bemutatott módon beállítható.
Értékek
normal
- Normál betűvastagság. Megegyezik a
400
-as értékkel. bold
- Félkövér. Megegyezik a
700
-as értékkel. lighter
- Relatív betűvastagság, a szülő elem formázásához viszonyít, annál vékonyabb betűvastagságot állít be. Megjegyzés: csupán négy betűvastagságot tartunk számon, melyek relatív értékek. (Bővebben: Relatív betűvastagság jelentése bekezdés lentebb.)
bolder
- Relatív betűvastagság, a szülő elem formázásához viszonyít, annál vastagabb betűvastagságot állít be. Megjegyzés: csupán négy betűvastagságot tartunk számon, melyek relatív értékek. (Bővebben: Relatív betűvastagság jelentése bekezdés lentebb.)
<number>
- A
<number>
(en-US) (szám) érték 1 és 1000 között megadható (az 1000 is beletartozik az intervallumba). Minél magasabb az érték, annál vastagabb lesz a betű formázás. Néhány gyakran használt érték megfeleltethető betűvastagság elnevezéseknek, bővebben lásd az Általános betűvastagság elnevezések bekezdésnél.
A betűvastagság beállítás régebbi verzióiban ez a tulajdonság csak kulcsszavakas értékeket és számokat fogad el (100, 200, 300, 400, 500, 600, 700, 800, és 900). A nem változó betűtípusok csak ezeket az értékeket tudják értelmezni. (Változó betűtípus: egyetlen betűkészlet-fájl, amely több stílusként viselkedik. Bővebben itt tudsz utánaolvasni.) A "finomszemcsés" értékek (pl: 451) a nem változó betűtípusok esetében lefordítódnak a fentebb említett értékek egyikére a Fallback weights rendszer segítségével.
A CSS Fonts Level 4 kiterjeszti a szintaxist, és bármely számot el tudja fogadni 1 és 1000 között, illetve bevezeti a Változó betűtípus készleteket (Variable fonts), amelyek már tudják használni ezeket a "finomszemcsés" betűvastagság értékeket is.
Alapeset
Hogyha a megadott betűvastagság nem elérhető adott betűtípuson, az alábbi szabály lép életbe, mely eldönti a véglegesen megjelenítendő betűvastagságot:
- Ha a megadott érték
400
és500
között van (ezeket is beleértve):- Elérhető betűvastagság értéket keres a megadott érték és
500
között, növekvő sorrendben. - Ha nincsen találat, elérhető betűvastagság értéket keres a megadott érték alatt, csökkenő sorrendben.
- Ha nincsen találat, elérhető betűvastagság értéket keres
500
felett, növekvő sorrendben.
- Elérhető betűvastagság értéket keres a megadott érték és
- Ha a megadott érték
400
alatti:- Elérhető betűvastagság értéket keres a megadott érték alatt, csökkenő sorrendben.
- Ha nincsen találat, elérhető betűvastagság értéket keres a megadott érték felett, növekvő sorrendben.
- Ha a megadott érték
500
feletti:- Elérhető betűvastagság értéket keres a megadott érték felett, növekvő sorrendben.
- Ha nincsen találat, elérhető betűvastagság értéket keres a megadott érték alatt, csökkenő sorrendben.
Relatív betűvastagság jelentése
Amikor lighter
vagy bolder
betűvastagságot határozunk meg, az alábbi táblázat segít megérteni, hogyan dől el, mi lesz a betűvastagságunk abszolút értéke.
Megjegyzés: csupán 4 értéket tartunk számon relatív értékként: vékony, keskeny (thin, 100), normál (normal, 400), félkövér (bold, 700), és vastag (heavy, 900). Ha egy betűtípus család ennél több elérhető értékkel rendelkezik, azok ebben az esetben mellőzve lesznek annak érdekében, hogy a relatív értéket át tudjuk alakítani abszolút értékké.
Örökölt érték | bolder |
lighter |
---|---|---|
100 | 400 | 100 |
200 | 400 | 100 |
300 | 400 | 100 |
400 | 700 | 100 |
500 | 700 | 100 |
600 | 900 | 400 |
700 | 900 | 400 |
800 | 900 | 700 |
900 | 900 | 700 |
Általános betűvastagság elnevezések
A numerikus értékek 100
-tól 900
-ig megfeleltethetők az alábbi általános betűvastagság elnevezéseknek. (Bővebben: OpenType specification):
Érték | Általános betűvastagság elnevezés |
---|---|
100 | Thin (Hairline) |
200 | Extra Light (Ultra Light) |
300 | Light |
400 | Normal (Regular) |
500 | Medium |
600 | Semi Bold (Demi Bold) |
700 | Bold |
800 | Extra Bold (Ultra Bold) |
900 | Black (Heavy) |
950 | Extra Black (Ultra Black) |
Változó betűtípus útmutató
A legtöbb betűtípusnak van egy bizonyos betűvastagsága, ami a fentebbi Általános betűvastagság elnevezések értékeinek megfeleltethető. Azonban néhány betűtípus, amit változó betűtípusnak nevezünk, ezeknél sokkal pontosabb, aprószemcsés értéket is meg tud jeleníteni, és ez sokkal nagyobb kontrollt adhat egy designernek.
A TrueType vagy OpenType változó betűtípusok a "wght" variációjukkal tudnak implementálni változó szélességet.
Az alábbi példához egy olyan böngészőre lesz szükséged, ami támogatja a CSS Fonts Level 4 szintaxist, amellyel bármilyen értéket meg tudunk adni 1 és 1000 között.
HTML
<header>
<input type="range" id="weight" name="weight" min="1" max="1000" />
<label for="weight">Weight</label>
</header>
<div class="container">
<p class="sample">...it would not be wonderful to meet a Megalosaurus, forty feet long or so, waddling like an elephantine lizard up Holborn Hill.</p>
</div>
CSS
/*
Mutator Sans is created by LettError (https://github.com/LettError/mutatorSans)
and is used here under the terms of its license:
https://github.com/LettError/mutatorSans/blob/master/LICENSE
*/
@font-face {
src: url('https://mdn.mozillademos.org/files/16011/MutatorSans.ttf');
font-family:'MutatorSans';
font-style: normal;
}
label {
font: 1rem monospace;
white-space: nowrap;
}
.container {
max-height: 150px;
overflow-y: auto;
}
.sample {
text-transform: uppercase;
font: 1.5rem 'MutatorSans', sans-serif;
}
JavaScript
let weightLabel = document.querySelector('label[for="weight"]');
let weightInput = document.querySelector('#weight');
let sampleText = document.querySelector('.sample');
function update() {
weightLabel.textContent = `font-weight: ${weightInput.value};`;
sampleText.style.fontWeight = weightInput.value;
}
weightInput.addEventListener('input', update);
update();
Accessibility concerns
Látási nehézségekkel küzdő emberek számára nehézséget okozhat a 100
-as (Thin/Hairline) és 200
-as (Extra Light) betűvastagsággal írt szövegek elolvasása, különösképpen ha alacsony a színkontraszt.
Formal definition
Initial value (en-US) | normal |
---|---|
Applies to | all elements. It also applies to ::first-letter (en-US) and ::first-line (en-US). |
Inherited (en-US) | yes |
Computed value (en-US) | the keyword or the numerical value as specified, with bolder and lighter transformed to the real value |
Animation type | a font weight |
Formal syntax
<font-weight-absolute> | (en-US) bolder | (en-US) lighterwhere
<font-weight-absolute> = normal | (en-US) bold | (en-US)
[1,1000] (en-US)>
Példák
Betűvastagság beállítása
HTML
<p>
Alice was beginning to get very tired of sitting by her sister on the
bank, and of having nothing to do: once or twice she had peeped into the
book her sister was reading, but it had no pictures or conversations in
it, "and what is the use of a book," thought Alice "without pictures or
conversations?"
</p>
<div>I'm heavy<br/>
<span>I'm lighter</span>
</div>
CSS
/* Set paragraph text to be bold. */
p {
font-weight: bold;
}
/* Set div text to two steps heavier than
normal but less than a standard bold. */
div {
font-weight: 600;
}
/* Set span text to be one step lighter
than its parent. */
span {
font-weight: lighter;
}
Result
Specifications
Specification | Status | Comment |
---|---|---|
CSS Fonts Module Level 4 The definition of 'font-weight' in that specification. |
Working Draft | Defines font-weight to accept any numbers between 1 and 1000. |
CSS Fonts Module Level 3 The definition of 'font-weight' in that specification. |
Recommendation | No change. |
CSS Level 2 (Revision 1) The definition of 'font-weight' in that specification. |
Recommendation | No change. |
CSS Level 1 The definition of 'font-weight' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
BCD tables only load in the browser