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

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

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

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

0回答

719閲覧

iPhone(safari, chrome)で縦書きフォームを表示したい

退会済みユーザー

退会済みユーザー

総合スコア0

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

3グッド

4クリップ

投稿2018/02/01 08:03

編集2018/02/01 09:30

前提・実現したいこと

現在、「縦書きで入力できるフォーム」を作っています。
Windowsのchrome, IE11,Edge,Firefoxでは表示がうまくいったのですが、
MacのSafari、iPhoneのsafari,chromeではフォーム内の文字が「横向き」になってしまい直せないでいます。もし方法をご存知でしたらお答え頂きたいです。
よろしくお願いいたします。

該当のソースコード

以下のコードでsafariに対してフォーム(input, textarea)を縦書きにするよう、CSSハックを書いています。

css

1_::-webkit-full-page-media, _:future, :root 2input, 3textarea { 4 -webkit-writing-mode: vertical-rl; 5 writing-mode: vertical-rl; 6}

試したこと

ブラウザごとに以下をCSSハックで記述。
これでWindows上ではブラウザごとの対応ができました。
しかしMacのsafari、iPhoneのsafari, Chromeでは横書きのままでした。

・IE11

css

1@media all and (-ms-high-contrast:none) { 2 *::-ms-backdrop, 3 input, 4 textarea { 5 -ms-writing-mode: tb-rl; 6 writing-mode: tb-rl; 7 } 8}

・Firefox

css

1@-moz-document url-prefix() { 2 input, 3 textarea { 4 -moz-writing-mode: vertical-rl; 5 writing-mode: vertical-rl; 6 } 7}

**・Chrome **
chromeはフォームが縦書きにならないので、フォーム自体を回転し文字をwriting-mode: initalで戻しました。

css

1@media screen and (-webkit-min-device-pixel-ratio:0) { 2 input, 3 textarea { 4   position: absolute; 5 writing-mode: initial; 6 transform: rotate(90deg); 7 transform-origin: top left; 8 } 9}

**・Edge **
chromeのcssハックが適用されてしまうため、上書きしています。

css

1@supports (-ms-ime-align:auto) { 2  input, 3  textarea { 4 position: static; 5 -webkit-writing-mode: vertical-rl; 6 writing-mode: vertical-rl; 7 transform: none; 8 transform-origin: none; 9 } 10}

補足情報

Mac
safari 10.1.2

iPhone
safari 11.0 Mobile

参考にさせて頂いたサイト
HTML/CSSだけで縦書きの入力フォームをつくる

縦書きweb普及委員会 CSS WritingModeの仕様解説

defghi1977, x_x, kszk311👍を押しています

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

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

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

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

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

kszk311

2018/02/17 12:12

特に手助けできるわけでもないのですが、難しいんですよね…CSSハックとかでできるのかどうか…。今考えられるのは、JSで整形し直して、floatとかflexとかで、ゴリゴリ書いていくぐらいしか…。
退会済みユーザー

退会済みユーザー

2018/02/22 10:32

コメントありがとうございます。そうなんですね、やはりJSで整形していくしかないのでしょうか…。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問