CSS - hyphenate-limit-chars
概要
| 属性名 | hyphenate-limit-chars |
|---|---|
| 値 | [ auto | <integer> ] {1,3} |
| 初期値 | auto |
| 適用可能要素 | テキスト要素 |
| 継承 | 継承する |
| サポート | https://caniuse.com/css-hyphenate-limit-chars |
説明
英単語が何文字以上の場合にハイフネーションを行うかを指定します。
引数は 1~3個で下記の様に解釈されます。<total> は全体文字数、<before> はハイフン前文字数、<after> はハイフン後文字数を示します。
hyphenate-limit-chars: <total> <before> <after>; hyphenate-limit-chars: <total> <before>; /* <after> = <before> */ hyphenate-limit-chars: <total>; /* <before> = <after> = auto */
hyphenate-limit-chars を指定しない場合、多くのブラウザでは 5 2 2 が指定されたものとみなします。
hyphenate-limit-chars: 5 2 2;
英単語のハイフネーションは lang="en" が指定された要素で行われます。
<div lang="en"> ... </div>
英単語にはハイフン(-)を入れられる箇所と入れられない箇所があります。例えば下記の場所で入れることができます。
un-be-liev-able com-mu-nica-tion con-sider-ations ac-knowl-edge-ment mis-un-der-stand-ing
下記の様に、幅 1px の枠に hyphens: auto と hyphenate-limit-chars: 1 1 1; を指定してやると、単語のどの箇所で入れることができるかを調べることができます。
CSS
.my-box {
width: 1px;
hyphens: auto;
}
HTML
<div class="my-box" lang="en" style="hyphenate-limit-chars: 1 1 1;">misunderstanding</div>
表示
misunderstanding
使用例
全体文字数(<total>)
文字数が <total> 以上になるとハイフネーションを行います。misunderstanding は16文字なので、<total> が 17 だとまだハイフネーションしませんが、16 だとハイフネーションします。understanding の部分は13文字で16文字に達していないのでハイフネーションしません。
CSS
.my-box {
width: 1px;
hyphens: auto;
margin-bottom: 1rem;
}
HTML
<div class="my-box" lang="en" style="hyphenate-limit-chars: 17;">misunderstanding</div> <div class="my-box" lang="en" style="hyphenate-limit-chars: 16;">misunderstanding</div>
表示
misunderstanding
misunderstanding
ハイフン前文字数(<before>)
ハイフン前の文字数が最低でも <before> 文字になるように調整されます。<before> が 3 の場合、un- は2文字で条件を満たさず、under- の部分がハイフネーションしません。
HTML
<div class="my-box" lang="en" style="hyphenate-limit-chars: 1 2 1;">misunderstanding</div> <div class="my-box" lang="en" style="hyphenate-limit-chars: 1 3 1;">misunderstanding</div>
表示
misunderstanding
misunderstanding
ハイフン後文字数(<after>)
ハイフン後の文字数が最低でも <after> 文字になるように調整されます。<after> が 4 の場合、最後の img は3文字で条件を満たさず、standing の部分がハイフネーションしません。
HTML
<div class="my-box" lang="en" style="hyphenate-limit-chars: 1 1 3;">misunderstanding</div> <div class="my-box" lang="en" style="hyphenate-limit-chars: 1 1 4;">misunderstanding</div>
表示
misunderstanding
misunderstanding
リンク
- https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-chars
- https://developer.mozilla.org/ja/docs/Web/CSS/hyphenate-limit-chars
- https://caniuse.com/mdn-css_properties_hyphenate-limit-chars
Copyright (C) 2025 杜甫々
初版:2025年1月19日、最終更新:2025年1月19日
https://www.tohoho-web.com/css/prop/hyphenate-limit-chars.htm