--- title: font-weight slug: Web/CSS/font-weight tags: - CSS - CSS Fonts translation_of: Web/CSS/font-weight ---
{{Cssxref("font-weight")}} CSS 属性指定了字体的粗细程度。 一些字体只提供 normal
和 bold
两种值。
/* Keyword values */ font-weight: normal; font-weight: bold; /* Keyword values relative to the parent */ font-weight: lighter; font-weight: bolder; /* Numeric keyword values */ font-weight: 1 font-weight: 100; font-weight: 100.6; font-weight: 123; font-weight: 200; font-weight: 300; font-weight: 321; font-weight: 400; font-weight: 500; font-weight: 600; font-weight: 700; font-weight: 800; font-weight: 900; font-weight: 1000; /* Global values */ font-weight: inherit; font-weight: initial; font-weight: unset;
<div class="row"> <ul class="cell"> <li><em>lighter:</em> <span class="fwLighter">The quick brown fox jumps over the lazy dog</span></li> <li><em> normal:</em> <span class="fwNormal">The quick brown fox jumps over the lazy dog</span></li> <li><em> bold:</em> <span class="fwBold">The quick brown fox jumps over the lazy dog</span></li> <li><em> bolder:</em> <span class="fwBolder">The quick brown fox jumps over the lazy dog</span></li> </ul> <ul class="cell"> <li><em> 100:</em> <span class="fw100">The quick brown fox jumps over the lazy dog</span></li> <li><em> 200:</em> <span class="fw200">The quick brown fox jumps over the lazy dog</span></li> <li><em> 300:</em> <span class="fw300">The quick brown fox jumps over the lazy dog</span></li> <li><em> 400:</em> <span class="fw400">The quick brown fox jumps over the lazy dog</span></li> <li><em> 500:</em> <span class="fw500">The quick brown fox jumps over the lazy dog</span></li> <li><em> 600:</em> <span class="fw600">The quick brown fox jumps over the lazy dog</span></li> <li><em> 700:</em> <span class="fw700">The quick brown fox jumps over the lazy dog</span></li> <li><em> 800:</em> <span class="fw800">The quick brown fox jumps over the lazy dog</span></li> <li><em> 900:</em> <span class="fw900">The quick brown fox jumps over the lazy dog</span></li> </ul> <div class="cell note"> The weight above can vary, depending on the font you are using: <input id="fontName" value="Gill Sans"> </div> </div>
html,body { height: 100%; box-sizing: border-box; } .row { width: 100%; height: 100%; display: flex; background: #EEE; flex-direction: column; } .cell { flex: 1; white-space: nowrap; margin: .5em .5em 0; padding: .5em; background-color: #FFF; font: 1em monospace; overflow: auto; } .note { background: #fff3d4; padding: 1em; margin: 0 .5em .5em; font: .8em sans-serif; text-align: center; white-space: initial; flex: none; } ul { list-style: none; } ul.cell { padding: 1em 2em; font: 1rem/170% "Gill Sans", monospace; } ul.cell:first-child { flex:none; } li em { font-family: monospace; white-space: pre; font-style: normal; } .fwNormal { font-weight: normal; } .fwBold { font-weight: bold; } .fwLighter { font-weight: lighter; } .fwBolder { font-weight: Bolder; } .fw100 { font-weight: 100; } .fw200 { font-weight: 200; } .fw300 { font-weight: 300; } .fw400 { font-weight: 400; } .fw500 { font-weight: 500; } .fw600 { font-weight: 600; } .fw700 { font-weight: 700; } .fw800 { font-weight: 800; } .fw900 { font-weight: 900; }
function updateFontFamily() { var fontName = document.getElementById('fontName').value; var fontFamily = '"' + fontName + '", monospace'; var UL = document.querySelectorAll('ul.cell'); UL[0].style.fontFamily = fontFamily; UL[1].style.fontFamily = fontFamily; } window.addEventListener('load', function () { var INPUT = document.getElementById('fontName'); INPUT.addEventListener('change', updateFontFamily); INPUT.addEventListener('input', updateFontFamily); });
{{EmbedLiveSample("font-weight", "100%", 500, "", "", "example-outcome-frame")}}
{{cssinfo}}
normal
400等值。
bold
700等值。
lighter
bolder
<number>
<number>
类型值。更大的数值代表字体重量粗于更小的数值 (或一样粗)。一些常用的数值对应于通用的字体重量名称,如章节常见粗细值名称和数值对应所描述。如果指定的权重值不可用,则使用以下规则来确定实际呈现的权重:
400
和 500
之间(包括400
和500
):
500
之间的可用权重;500
的可用权重。400
,按降序查找小于指定值的可用权重。 如果未找到匹配项,按升序查找大于指定值的可用权重(先尽可能的小,再尽可能的大)。500
,按升序查找大于指定值的可用权重。 如果未找到匹配项,按降序查找小于指定值的可用权重(先尽可能的大,再尽可能的小)。以上策略意味着,如果一个字体只有 normal
和 bold
两种粗细值选择,指定粗细值为 100-500
时,实际渲染时将使用 normal
,指定粗细值为 600-900
时,实际渲染时将使用 bold
。
当指定的是相对粗细值 lighter
或 bolder
时,将使用如下图表来决定元素渲染时的绝对粗细值:
继承值(Inherited value) | 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 |
100 到 900 之间的数值大致对应如下的常见粗细值名称:
100
200
300
400
500
600
700
800
900
font-weight
数值采取离散式定义(使用 100 的整倍数)。数值为实数,非 100 的整数倍的值将被四舍五入转换为 100 的整倍数,遇到 *50 时,将向上转换,如 150 将转换为 200 。
<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>
/* Set paragraph text to be bold. */ p { font-weight: bold; } /* Set div text to two steps darker than normal but less than a standard bold. */ div { font-weight: 600; } /* Sets text enclosed within span tag to be one step lighter than the parent. */ span { font-weight: lighter; }
{{EmbedLiveSample("Examples","400","300")}}
Specification | Status | Comment |
---|---|---|
{{SpecName('CSS3 Fonts', '#font-weight-prop', 'font-weight')}} | {{Spec2('CSS3 Fonts')}} | No change. |
{{SpecName('CSS3 Transitions', '#animatable-css', 'font-weight')}} | {{Spec2('CSS3 Transitions')}} | Defines font-weight as animatable. |
{{SpecName('CSS2.1', 'fonts.html#propdef-font-weight', 'font-weight')}} | {{Spec2('CSS2.1')}} | No change. |
{{SpecName('CSS1', '#font-weight', 'font-weight')}} | {{Spec2('CSS1')}} |
{{Compat("css.properties.font-weight")}}