transform未対応ブラウザでも縦書きレイアウトを保つ。
ということで、「CSS3のtransformを使った縦書きレイアウト用スタイルシート」を紹介しているのです。
→ 縦書きWebページプロジェクト (http://freefielder.jp/tate/ )
ところがコレは、transform未対応のブラウザでは、当然のように綺麗な縦書きになりません。長音記号「ー」が横に寝たままのかたちで表示されたり、括弧たちが横書き字形のままで表示されたり。
その不具合を解消するために、transform未対応ブラウザで閲覧したときは、transformでフォントを回転させることを諦めて、強制的に「横字形→縦字形」に文字を置換してしまうJavaScriptを書いてみた。
以下 'tate_replace.js' のソース。
こいつを 'tate_replace.js' という名前のファイルに保存したら、縦書きCSSを使っているhtmlファイルのヘッダ部分で、
内容は、
これを使えば、ブラウザ互換性がさらにアップする筈。
アクセスしてきたブラウザのバージョン番号を取得するスクリプトは、以下のページ
→ お手軽 ブラウザバージョン判定 - latest log
を参考にさせて頂きました。
→ 縦書きWebページプロジェクト (http://freefielder.jp/tate/ )
ところがコレは、transform未対応のブラウザでは、当然のように綺麗な縦書きになりません。長音記号「ー」が横に寝たままのかたちで表示されたり、括弧たちが横書き字形のままで表示されたり。
その不具合を解消するために、transform未対応ブラウザで閲覧したときは、transformでフォントを回転させることを諦めて、強制的に「横字形→縦字形」に文字を置換してしまうJavaScriptを書いてみた。
以下 'tate_replace.js' のソース。
こいつを 'tate_replace.js' という名前のファイルに保存したら、縦書きCSSを使っているhtmlファイルのヘッダ部分で、
<html>
<head>
<script type="javascript" src="tate_replace.js"></script>
…
</head>
…なんて感じで読み込んでやればOKです。<head>
<script type="javascript" src="tate_replace.js"></script>
…
</head>
内容は、
transform未対応ブラウザ( Firefox3.5未満、Opera10.5未満、Safari3未満 )、またはバージョン6未満のInternet Explorerでアクセスしてきた場合に、originalSet で定義されている横字形を、対応する縦字形( replaceSetで定義 )に置換する。
というもの。これを使えば、ブラウザ互換性がさらにアップする筈。
アクセスしてきたブラウザのバージョン番号を取得するスクリプトは、以下のページ
→ お手軽 ブラウザバージョン判定 - latest log
を参考にさせて頂きました。
コメント