ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
hyphens とは
hyphens は CSS のテキスト整形プロパティの 1 つで、長い英単語が行末に来た時にハイフン (-) を入れて自動的に折り返す「ハイフネーション」機能を制御します。新聞や書籍の英文組版でおなじみの処理を、ブラウザ上で実現できます。
構文と値
selector {
hyphens: none | manual | auto;
}
| 値 | 意味 |
|---|---|
| none | ハイフン分割を一切行わない。­ も無視 |
| manual (既定) | ­ や明示ハイフンがある場所でだけ分割可能 |
| auto | ブラウザが言語辞書を使って自動分割。lang 属性必須 |
auto を効かせるための条件
hyphens: auto は単独では効きません。HTML 側で言語属性を指定する必要があります。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"></head>
<body>
<p style="width:160px; text-align:justify; hyphens:auto;">
This is an internationalization example.
</p>
</body>
</html>
上記のように html lang="en" がないと、ブラウザはどの言語の辞書を使うか分からず、ハイフネーションを行いません。
言語が混在する場合
<p>本文は日本語ですが、ここだけ
<span lang="en" style="hyphens:auto">internationalization</span>
が英語です。
</p>
manual で狙った位置だけ分割する
長い単語の「ここなら切れていい」位置に ソフトハイフン (­) を入れると、行末に来た時だけハイフンが表示されます。
<p style="width:120px; hyphens:manual;">
internationalization
</p>
表示上は internationalization のままですが、行末では inter- / national- / ization のどこかで折り返されます。
日本語との関係
日本語は基本的に1 文字単位で改行するため、英語のようなハイフネーションは不要です。hyphens: auto を指定しても、lang="ja" ではほぼ何もしません。
日本語の禁則処理(行頭禁則・行末禁則)は word-breakプロパティ や line-break プロパティで制御します。
ブラウザ対応とプレフィックス
2026 年現在は標準で hyphens が使えますが、旧 Safari 用にベンダープレフィックスを併記する保守的な書き方もあります。
.text {
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}
典型ユースケース
1. 狭幅レイアウトの英文記事
スマホやサイドバーなど幅が狭い領域に英文を流す時に、長い専門用語が改行できずレイアウトが崩れる問題を緩和します。
article p {
hyphens: auto;
text-align: justify;
}
2. 多言語サイトのレスポンシブ対応
@media (max-width: 600px) {
:lang(en), :lang(de) {
hyphens: auto;
}
}
関連プロパティ
| プロパティ | 役割 |
|---|---|
| word-break | 単語分割の方針 |
| line-break | 句読点・記号の禁則処理 |
| overflow-wrap | はみ出し時の強制改行 |
| text-align: justify | 両端揃え(hyphens と相性が良い) |
hyphenate-character / hyphenate-limit-chars
近年のブラウザでは、ハイフネーションの記号と粒度を制御する追加プロパティが利用できます。
| プロパティ | 役割 | 例 |
|---|---|---|
| hyphenate-character | 分割時に挿入する記号を変更 | hyphenate-character: "⸗"; |
| hyphenate-limit-chars | 分割を許可する最小単語長と前後の文字数 | hyphenate-limit-chars: 6 3 2; |
p {
hyphens: auto;
hyphenate-limit-chars: 6 3 2; /* 6文字以上の語、前後3/2文字以上残す */
text-align: justify;
}
justify と組み合わせるときのコツ
text-align: justify だけだと、単語間のスペースが広がりすぎて読みづらい「川 (river)」現象が起きがちです。hyphens: auto を併用するとスペースが詰まり、自然な組版になります。
FAQ
Q. CJK には効きませんか?
A. はい、原則的に効きません。日本語・中国語・韓国語は1 文字単位での折り返しが基本のため、word-break / overflow-wrap / line-break を使い分けます。
Q. auto なのにハイフンが入らない
A. ① lang 属性が設定されていない、② 親要素に英語以外の lang がある、③ そもそも単語が分割可能な長さに満たない、のいずれかを疑います。
Q. デザイン上ハイフンの形を変えたい
A. hyphenate-character: "-"; 等で記号を任意に変更可能です(対応ブラウザ要確認)。
言語別の挙動
| lang | auto の効果 | 備考 |
|---|---|---|
| en | 強く効く(辞書が充実) | 欧文組版で最も恩恵が大きい |
| de / fr | 強く効く | 長い合成語に効果絶大 |
| es / it / pt | 効く | — |
| ja / zh / ko | ほぼ無効 | 1 文字単位で折り返すため不要 |
実務での適用パターン
狭幅レイアウトのブログ・ニュースサイトで以下のように一括指定するのがおすすめです。
article {
text-align: justify;
hyphens: auto;
overflow-wrap: anywhere; /* 万一の長い文字列も折り返す */
word-break: normal;
}
/* 日本語側はハイフネーション無効でも問題なし */
:lang(ja) article {
text-align: left;
hyphens: manual;
}
関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?