【入門編】text-orientationによる文字の向きの制御 – HTML実践ガイド

「縦書き」のWebサイト、作ってみませんか?`text-orientation`で文字の向きを魔法のように操る方法

Webサイトといえば、左から右へ読む「横書き」が当たり前ですよね。でも、雑誌の特集や日本的な情緒を表現したいとき、ふと「縦書き」のWebサイトに憧れることはありませんか?

実は、CSSを使えば縦書きは驚くほど簡単に実現できます。ただ……いざ縦書きにしてみると、「あれ? アルファベットや数字が横向きのままで、なんだか読みづらいぞ?」と壁にぶつかるはずです。

今日は、そんな縦書きレイアウトの「最後の仕上げ」とも言える、`text-orientation`プロパティについてお話しします。難しそうな名前ですが、身の回りの例えで紐解いていけば、きっと大丈夫ですよ!

—

縦書きの「迷子」になりやすい英数字たち

まず、`writing-mode: vertical-rl;` というCSSを使うと、日本語の文章は縦書きになります。しかし、そこに英数字を混ぜると、まるで「行列の途中で一人だけ後ろを向いて立っている人」のような違和感が生まれます。

なぜなら、ブラウザにとって英数字は「横書きされるのがデフォルト(標準)」だからです。

ここで登場するのが、`text-orientation`というプロパティです。これは、縦書きの中で「英数字をどう向き合わせるか」を指示する、いわば「整列の号令」のようなものです。

—

`text-orientation` でできること:3つの基本モード

このプロパティにはいくつか設定値がありますが、現場でよく使うのは主にこの3つです。

1. `mixed`(デフォルト:自然な混在)

名前の通り「混ぜこぜ」です。日本語は縦向き、英数字は横向きという、まさに一般的な日本の書籍と同じスタイル。迷ったらまずはこれです。

2. `upright`(直立:すべて縦向き)

すべての文字を「縦書き用の文字」として扱います。アルファベットも「一文字ずつ、お辞儀をせずにまっすぐ立たせる」イメージです。個性的で力強い印象になります。

3. `sideways`(横倒し:すべて横向き)

文字を物理的に90度回転させて配置します。昔のガラケーの画面や、看板などで見かける「首を傾げて読む」スタイルですね。

—

さっそく試してみましょう!

実際にコードを書いてみると、その違いが一目瞭然です。お使いのエディタにコピーして、ブラウザで眺めてみてくださいね。

縦書きの世界へようこそ!
Web Design 2024
CSSは本当に面白いですね。

—

現場で役立つ「ちょっとしたコツ」

実務で縦書きを扱う際、初心者の皆さんがよく悩むポイントが一つあります。それは「数字の縦中横(たてちゅうよこ)」です。

日付や短い数字(「12日」「No.1」など)は、縦書きの中に横書きで収まっていないと、非常に読みづらいですよね。これを解決するには、`text-orientation`ではなく、`text-combine-upright: all;` という別の魔法を使います。

.date {
/ 数字を1文字分のスペースにギュッと押し込める魔法 /
text-combine-upright: all;
}

「縦書きの中で英数字が浮いてしまう……」と悩んだときは、まずは `text-orientation` で全体の向きを整え、特定の数字だけ `text-combine-upright` で調整する。この二段構えを覚えておくだけで、あなたのWebサイトのクオリティはグッと上がります!

—

最後に:失敗しても大丈夫です!

Web制作を始めたばかりの頃は、意図しない方向に文字が向いてしまうと焦ってしまいますよね。でも、安心してください。CSSのレイアウトは「パズルのピースを置く」ようなもの。少しずつ設定を変えて、自分の理想の形を探す過程こそが、一番の勉強になります。

「英数字をまっすぐ立たせたいな」と思ったら、今日の `text-orientation` を思い出してみてください。あなたのWebサイトに、素敵な縦書きの風が吹き込みますように!

それでは、また次の記事でお会いしましょう!

コメント

タイトルとURLをコピーしました