質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

3551閲覧

テキストの縦書き

Qoo

総合スコア1249

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2015/10/26 12:44

下記のように動的に追加するテキストを縦書にしたいのですが、
何か良い方法はないでしょうか?

targetText = $('<div class="text">')
.data({
fontFamily: fontFamily,
fontSize: fontSize,
color: color,
verticalAlign: vAlign,
horizontalAlign: hAlign,
tateFlag: tate,
}).appendTo('#screen').css({
name: "text",
border: '1px dotted #000',
fontFamily: fontFamily,
fontSize: '60px',
color: color,
zIndex: '1',
left: left ,
top: top,
width: width : "auto",
height: height : "auto",
position: 'absolute',
lineHeight: '200px',
});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

最新のブラウザであれば、cssで対応可能です。下記のcssを試してみてください。

css

1.writing-mode-vertical-rl { 2 -webkit-writing-mode: vertical-rl; 3 -moz-writing-mode: vertical-rl; 4 -o-writing-mode: vertical-rl; 5 writing-mode: vertical-rl; 6 -ms-writing-mode: vertical-rl; 7 -ms-writing-mode: tb-rl; 8}

イメージ説明

適用されたスタイルが上記です。
左から、Win7(IE10)、OSX10.11(Firefox41.0、Chrome 45.0.2454、Opera32.0、Safari9.0 (11601.1.56))になります。

参考

投稿2015/10/26 23:57

編集2015/10/27 00:02
horse_n_deer

総合スコア452

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

think49

2015/10/27 05:55

そういえば、pixiv が writing-mode を使ってましたね。 仕様も勧告候補(Candidate Recommendation)になっていますし、クロスブラウザ的にも現実的なところまで来ている気がします。 あえて問題点をあげるなら IE7 非対応なことでしょうか。 http://caniuse.com/#feat=css-writing-mode
Qoo

2015/10/27 10:29

回答ありがとうございます! 無事実現することができました!
guest

0

日本語の縦書きを実装したいのであれば,
竹取 JS
を利用してみてはいかがでしょうか?

竹取 JSを使えば,濁点、半濁点や句読点の位置などを考慮してくれます.

投稿2015/10/26 18:31

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Qoo

2015/10/26 22:23

回答ありがとうございます。 竹取JSも試してみたのですが、MS明朝のみ&動作が遅くなるという『仕様』でしたので 利用は難しいそうです。
guest

0

縦書きを満足に表示させられる方法はCSSだけでは難しいと思います。
それなりに試されてると思いますが、濁点、半濁点や句読点の位置など、考慮する事が多いのでどちらかというとプログラムの範疇になるのではないかと。
単純に縦書きを割と普通に使う国が日本くらいだから国際規格としては対応しようが無いと言う事があるかと思います。
(縦書きそのものは漢字圏やハングルも使うようですが日本語ほどは普通には使用しないようです)

答えになって無くて申し訳ないのですが、何の為に縦書きしたいのかによりますが、Javascriptのライブラリなどで対応させればある程度対応できるような話を聞いた事がありますので、調べてみてはいかがでしょうか。

投稿2015/10/26 15:49

landy77

総合スコア1614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Qoo

2015/10/26 22:28

回答ありがとうございます。 竹取jsやh2v.jsも使ってみたのですが、おっしゃるようにブラウザの制約やフォントの試薬が多々あるようですね。もう少し試行錯誤してみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問