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

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

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

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

HTML

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

CSS

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

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

1回答

2578閲覧

【HTML】編集可能なDIVの高さを固定にしたい、レイアウト相談

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

HTML

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

CSS

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

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

0クリップ

投稿2019/05/21 03:01

お世話になっております。

前提・実現したいこと

Androidアプリで、ユーザーに入力してもらう画面を作成中です。
最初はTableで横並びに入力することを考えていました。
文字数が多くなる場合や、改行もあるであろうことを考え、
2個目の図のレイアウトにしようと検討しています。
補足の入力欄にリンクがあれば、リンクをJavascriptで変換し
飛べるようにもしたいと思っています。

![上図は前案、下図は作ろうとしているもの

聞きたい事

  • DIVの高さを固定するにはどうしたら良いのでしょうか
  • 添付画像、2個目の図のように入力欄や選択肢を作る場合は

 Tableレイアウトにしたほうが良いか(参考までコメント欲しいです)
Tableじゃない場合は、Listにして並べようと思っています。

発生している問題・エラーメッセージ

html

1 <ons-list-header>キャラクター名</ons-list-header> 2 <ons-list-item> 3 <div class="ReDiv" contenteditable="true"> 4 キャラクター名</div> 5 </ons-list-item>

contenteditable設定にしたDIVの高さが可変になってしまい、
改行すると他の内容まで下に下がっていってしまいます。
DIVの高さを固定にしたいと思っています。

<ons-list-item> の中に入れると、謎の空行などが出来ます。
綺麗な表形式(2個目の図)みたいにあらわせるのであれば、
ons-list-itemに入れずに

<div class="ReDiv"; contenteditable="true";>キャラクター名</div> という表示方式でも構いません。

css

1.ReDiv{ 2width:100%; 3min-height: 100px; 4max-height:300px; 5white-space:pre-wrap; 6overflow:auto; 7}

試したこと

ons-list-item の中から出してみても、状況特に変わらず。
divタブに直接height:300px;など指定してみましたが、特に変わりませんでした。

textareaだと表示が古く、Androidアプリには向かないと思ったのと
ユーザーが編集可能なDIVエリアにヒント表示や、ボタンや、リンクなど
追加したいと思っているためDIVにしています。
textareaについては別途、CSSで良い感じに出来るかどうかは調べる予定です。

補足情報(FW/ツールのバージョンなど)

Monaca、Onsen UI利用

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

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

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

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

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

m.ts10806

2019/05/21 03:08

回答依頼いただいて申し訳ないですが、MonacaユーザーではないのでMonaca特有の記述やOnsen UIについてはあまり詳しくないので直接の回答は難しいです。 ご提示の要件だとtableで組むのがベターかなとは思いますが(ほぼ表なので)
退会済みユーザー

退会済みユーザー

2019/05/21 03:16 編集

mts10806様 申し訳ありません、また依頼してしまいました。 回答頂き、またアドバイスありがとうございます!
yambejp

2019/05/21 03:16

「文字数が多くなる場合や、改行もあるであろう」ことを想定しているのに 高さを固定する意図がわかりません。 可変なテキスト量に対しては高さは変動すべきでは?
退会済みユーザー

退会済みユーザー

2019/05/21 03:23

yambejp様 回答ありがとうございます。説明不足で申し訳ありませんでした。 DIV内で改行をたくさん入力した場合に、次の項目入力に行きたいときでも すぐに移動できなくなってしまいます。 図の例で言うのであれば、一言の欄で100改行したとして、 その次の補足にも入れたい場合にスクロールを凄くしないといけなくなります。 また、私の組み方が悪いのか、HTMLのスクロールバーが出ず、一言に100改行を入れてしまうと 画面全体が一言の内容になってしまい、スクロールの手段もない状態になります。 ユーザーには、大量に改行をしたとしても、楽々次の項目を入力してもらえたらなと思っています。
teruri

2019/05/21 03:33

もしかして:中の要素が固定高さを越えたらスクロールバーを出したいということでしょうか?
退会済みユーザー

退会済みユーザー

2019/05/21 04:08

teruri様 回答ありがとうございます。 そうです!!! 推察頂きありがとうございます!
guest

回答1

0

ベストアンサー

先ほどまで出来なかったのに、何故か出来るようになりました。
もしかしたらCSSとHTML上の両方でheightを決めていたからおかしくなったのかもしれません。
回答や質問頂いた皆様、ありがとうございました。

html

1<div style="height:100%;width:100%;overflow:auto;"> 2 <ons-list-header>キャラクター名</ons-list-header> 3 <ons-list-item> 4 <div class="ReDiv" contenteditable="true">キャラクター名</div> 5 </ons-list-item> 6</div>

css

1.ReDiv{ 2width:100%; 3height:100px; 4white-space:pre-wrap; 5overflow:auto; 6}

投稿2019/05/21 05:50

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問