まずは一段組。
美しい日本語のカタチ。
ネットの世界でも、ふだんの生活でも、横書きのテキストが主流です。でも日本語の表記の基本は、やはり「縦書き」。
縦書きのホームページを作りたいけれど、クロスブラウザで、なるべく手間をかけずに文章の縦書き表示を実現するのは難しい。
そんなあなたに。
h2v.js は、Webページの文書を縦書きに変換して表示するための JavaScript です。
h2v.js の特長
縦書きWebページを作成する上で、難しい事を考える必要はありません。
あなたが作るのは、通常どおりの html。縦書きにしたいエリアを、 id を設定した div で囲んでパラメータをいくつか設定するだけです。
h2v.js は、縦書きにしたいエリアのテキストを縦書きにレイアウトし直し、要素に設定された height, width, margin, padding, border などのスタイルを時計回りに90度回転させて表示します。
ここをクリックすると、元の横書きレイアウトでの表示に切り替わります。(もう一度クリックすると、再び縦書き表示に戻ります)
横→縦レイアウトがどのように変換されているのか確かめてみてください。
もちろん、ブログを縦書きにする事もできます。
わたくしのブログで、縦書きのほどを確かめてみてください。一部の記事でブログ本文が縦書き表示されるように設定しています。
h2v.js のアドバンテージ
- 古来より伝わる、クロスブラウザでズレない縦書き実現方法「table で升目を作って、そこに一文字ずつ文字を埋め込んでゆく」というのと比較して、圧倒的に少ない作業量で、より綺麗な縦書きレイアウトが可能。
- 未だ全てのブラウザに実装されていない縦書き表示のためのCSSプロパティ "writing-mode : tb-rl ; " に頼らないクロスブラウザ設計。
- 縦書き変換にあたって文字の置換は行わないので、横書き時とほぼ同等のページ内テキスト検索やテキストのコピー&ペーストが可能。
- テキストだけでなく、さまざまなhtmlブロック要素も、適用されているスタイルごと適切に変換します。
- JavaScript が Off の場合や、古いブラウザでアクセスした場合にはオリジナルの横書きスタイルで表示します。「ページが読めない」などという最悪の事態が起こる可能性は皆無、です。
動作の概要
要は、
なにも難しい事を考えなくても、普通の横書き時のスタイルがそのまま、右に90度回転したレイアウトで表示される、というわけです。
ただし、スタイルシートの float や left, top, right, bottom プロパティを使用して表示位置指定された要素については、綺麗に縦書きレイアウトに変換できない場合が多いです。ご容赦&ご注意ください。
floatなどで位置指定された要素の内側を縦書き変換してやればよいかと。
そして、バージョン 1.7.0 では、文章の
センタリングや
右揃え(縦書きなので下揃え)が出来るようになりました。
センタリングです。
文章が中央揃えで配置されます。
横書きの場合と同じように、センタリングしたい文章の親ブロック要素に text-align : center ; を設定してください。
そして下揃え。
こちらは、下揃えしたい文章の親ブロック要素に
text-align : right ; ですね。
動作するブラウザ
- Internet Explorer 8以上(IE 9で、より綺麗な表示でご覧になれます)
- Firefox 3.5以上
- Google Chrome
- Safari 3以上(Mobile Safari対応)
- Opera 10.5以上
- Android Browser(ただしインストールされているフォントの種類によっては、レイアウトがずれることがあります)
動作対象外のブラウザでページにアクセスした時は、縦書き変換を行いません。オリジナルの横書きフォーマットでページの内容を表示します。
せっかく読みにきてもらったのに「レイアウトがずれまくりで、何が書かれているのか判らない」という最悪の状況を回避することができます。
もっと詳しく…
h2v.js の設置方法、設定などは、このページ右上のメニューからそれぞれのドキュメントを参照してください。
不具合報告、疑問質問などはお気軽にどうぞ。メールアドレスは 右 です。
そして多段組。
各段の切れ目にちょうどブロック要素が引っかかる場合は、それらを上手く分割します。分割できない要素(画像やテーブルなど)が引っかかる場合は、次の段に送り出します。
また、h2v.js はウィンドウ(または縦書き領域)のリサイズにも対応しています。
美しい日本語のカタチ。
ネットの世界でも、ふだんの生活でも、横書きのテキストが主流です。でも日本語の表記の基本は、やはり「縦書き」。
縦書きのホームページを作りたいけれど、クロスブラウザで、なるべく手間をかけずに文章の縦書き表示を実現するのは難しい。
そんなあなたに。
h2v.js は、Webページの文書を縦書きに変換して表示するための JavaScript です。
h2v.js の特長
縦書きWebページを作成する上で、難しい事を考える必要はありません。
あなたが作るのは、通常どおりの html。縦書きにしたいエリアを、 id を設定した div で囲んでパラメータをいくつか設定するだけです。
h2v.js は、縦書きにしたいエリアのテキストを縦書きにレイアウトし直し、要素に設定された height, width, margin, padding, border などのスタイルを時計回りに90度回転させて表示します。
ここをクリックすると、元の横書きレイアウトでの表示に切り替わります。(もう一度クリックすると、再び縦書き表示に戻ります)
横→縦レイアウトがどのように変換されているのか確かめてみてください。
もちろん、ブログを縦書きにする事もできます。
わたくしのブログで、縦書きのほどを確かめてみてください。一部の記事でブログ本文が縦書き表示されるように設定しています。
h2v.js のアドバンテージ
- 古来より伝わる、クロスブラウザでズレない縦書き実現方法「table で升目を作って、そこに一文字ずつ文字を埋め込んでゆく」というのと比較して、圧倒的に少ない作業量で、より綺麗な縦書きレイアウトが可能。
- 未だ全てのブラウザに実装されていない縦書き表示のためのCSSプロパティ "writing-mode : tb-rl ; " に頼らないクロスブラウザ設計。
- 縦書き変換にあたって文字の置換は行わないので、横書き時とほぼ同等のページ内テキスト検索やテキストのコピー&ペーストが可能。
- テキストだけでなく、さまざまなhtmlブロック要素も、適用されているスタイルごと適切に変換します。
- JavaScript が Off の場合や、古いブラウザでアクセスした場合にはオリジナルの横書きスタイルで表示します。「ページが読めない」などという最悪の事態が起こる可能性は皆無、です。
動作の概要
要は、
なにも難しい事を考えなくても、普通の横書き時のスタイルがそのまま、右に90度回転したレイアウトで表示される、というわけです。
ただし、スタイルシートの float や left, top, right, bottom プロパティを使用して表示位置指定された要素については、綺麗に縦書きレイアウトに変換できない場合が多いです。ご容赦&ご注意ください。
floatなどで位置指定された要素の内側を縦書き変換してやればよいかと。
そして、バージョン 1.7.0 では、文章の
センタリングや
右揃え(縦書きなので下揃え)が出来るようになりました。
センタリングです。
文章が中央揃えで配置されます。
横書きの場合と同じように、センタリングしたい文章の親ブロック要素に text-align : center ; を設定してください。
そして下揃え。
こちらは、下揃えしたい文章の親ブロック要素に
text-align : right ; ですね。
動作するブラウザ
- Internet Explorer 8以上(IE 9で、より綺麗な表示でご覧になれます)
- Firefox 3.5以上
- Google Chrome
- Safari 3以上(Mobile Safari対応)
- Opera 10.5以上
- Android Browser(ただしインストールされているフォントの種類によっては、レイアウトがずれることがあります)
動作対象外のブラウザでページにアクセスした時は、縦書き変換を行いません。オリジナルの横書きフォーマットでページの内容を表示します。
せっかく読みにきてもらったのに「レイアウトがずれまくりで、何が書かれているのか判らない」という最悪の状況を回避することができます。
もっと詳しく…
h2v.js の設置方法、設定などは、このページ右上のメニューからそれぞれのドキュメントを参照してください。
不具合報告、疑問質問などはお気軽にどうぞ。メールアドレスは 右 です。