--- title: hyphens slug: Web/CSS/hyphens tags: - CSS - CSS Property - CSS テキスト - CSS プロパティ - CSS 文字列 - Reference translation_of: Web/CSS/hyphens ---
hyphens は CSS のプロパティで、文字列を複数行にわたって折り返す際に、単語のハイフネーションを行う方法を指定します。ハイフネーションをまったく行わなかったり、手動で指定された位置で文字列のハイフネーションを行ったり、ブラウザーに適切な位置にハイフンを挿入させたりすることができます。
ハイフネーションの規則は言語に依存します。 HTML では言語は lang 属性で特定され、ブラウザーはこの属性が存在し、適切なハイフネーション辞書が利用できる場合にのみハイフネーションを行います。 XML では、 xml:lang 属性を使用する必要があります。
注: どのようにハイフネーションを行うかの規則は仕様書で明確に定義されていないため、厳密なハイフネーションの方式はブラウザーにより異なります。
/* キーワード値 */ hyphens: none; hyphens: manual; hyphens: auto; /* グローバル値 */ hyphens: inherit; hyphens: initial; hyphens: unset;
hyphens プロパティは、以下に挙げたキーワード値のうちの一つで指定します。
nonemanualautoメモ: auto を設定したときの動作は、正しくタグ付けされた言語に依存して、適切なハイフネーション規則が選択されます。選択した言語で自動的なハイフネーションが適用されるようにすることを保証するために、 HTML の lang 属性を必ず指定してください。
文字列中で改行が可能な位置を手動で指定するために使用できる Unicode 文字は2つあります。
­ を使用してソフトハイフンを挿入することができます。HTML の {{htmlelement("wbr")}} 要素によって改行が行われた場合、ハイフンは挿入されません。
以下の例では3つのクラスを使用し、それぞれの hyphens プロパティの設定を示します。
<dl> <dt><code>none</code>: no hyphen; overflow if needed</dt> <dd lang="en" class="none">An extreme­ly long English word</dd> <dt><code>manual</code>: hyphen only at &hyphen; or &shy; (if needed)</dt> <dd lang="en" class="manual">An extreme­ly long English word</dd> <dt><code>auto</code>: hyphens where the algorithm decides (if needed)</dt> <dd lang="en" class="auto">An extreme­ly long English word</dd> </dl>
dd {
width: 55px;
border: 1px solid black;
}
dd.none {
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
dd.manual {
-webkit-hyphens: manual;
-ms-hyphens: manual;
hyphens: manual;
}
dd.auto {
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}
{{EmbedLiveSample("Example", "100%", 490)}}
| 仕様書 | 策定状況 | コメント |
|---|---|---|
| {{SpecName("CSS3 Text", "#hyphens-property", "hyphens")}} | {{Spec2("CSS3 Text")}} | 初回定義。 |
{{cssinfo}}
{{Compat("css.properties.hyphens")}}
word-wrap)