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

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

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

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

Q&A

解決済

2回答

7049閲覧

<td>に配置した<input>がセルいっぱいにならない

Melancholic

総合スコア3

HTML

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

0グッド

0クリップ

投稿2020/08/13 09:58

編集2020/08/13 11:03
<table>で商品リストを作り、そこへ数量を入力するテキストボックスを表示するデザインを作っています。 次画面への値のPOST等は正常に動いているのですが、<td>セル内にどうしても隙間ができてしまします(画像参照)。

イメージ説明

(height:4px削除後)
イメージ説明

<td>内いっぱいにテキストボックスを表示したいのですが、うまくできません。 padding、marginをcssで0に設定してみましたが駄目でした。

HTML

1 <div> 2 <table class ="center-position" border="1"> 3 <!-- 見出し項目表示箇所 Start --> 4 <tr style=color:"#ffffff" bgcolor="#000000" height=30px> 5 <th class ="menu" width=100>メーカー</th> 6 <th class ="menu" width=220>商品名</th> 7 <th class ="menu" width=100>単価(円)</th> 8 <th class ="menu" width=50>数量</th> 9 </tr> 10 <!-- 見出し項目表示箇所 End --> 11 12 <!-- 検索データ表示箇所 Start --> 13 {section name=dbList loop=$result} 14 <tr height=35px> 15 <td class="display-center">{$result[dbList].MAKER}</td> 16 <td class="display-left">{$result[dbList].NAME}</td> 17 <td class="display-right">{$result[dbList].KINGAKU}</td> 18 <td width=50><input class = "number2" type="tel" name="suryo[]" autocomplete="off" maxlength="2" style="width:50px; height:4px; font-size: 17px;"></td> 19 </tr> 20 {/section} 21 <!-- 検索データ表示箇所 End --> 22 </table>

CSS

1table.center-position { 2 margin: 0px 50px 0px 50px; 3 float: center; 4 5} 6.display-center { 7 text-align: center; 8} 9.display-right { 10 text-align: right; 11} 12.display-left { 13 text-align: left; 14} 15th.menu { 16 background-color:#000000; 17 color:#ffffff; 18}

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

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

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

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

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

guest

回答2

0

ベストアンサー

最後の<td>を以下のようにするとどうでしょうか?

HTML

1<td width=50 style="height: 100%; padding: 0;"> 2 <input class="number2" type="tel" name="suryo[]" autocomplete="off" maxlength="2" style="width:50px; font-size: 17px;"> 3</td>

以下の画像は上記のコードで表示した時のものです。
ぴったり収まりすぎて分かりづらいかもしれませんが、数量はテキストフィールドになっています。
イメージ説明

投稿2020/08/13 12:04

編集2020/08/13 12:18
root_jp

総合スコア4666

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

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

root_jp

2020/08/13 12:09

少なくともご提示いただいているソースコードだけでは、height指定を削除してテキストボックスが縦に伸びるということはありません。 それでも伸びるのであれば、それは他のスタイルが効いているためだと思いますので、その部分を探す必要があると思います。
root_jp

2020/08/13 12:12

すみません。 少し語弊がありそうな説明でした。 height: 4pxを消すことで、4pxよりは伸びる可能性はありますが、載せられている画像のサイズほど伸びることはないと思いますという意味です。
Melancholic

2020/08/14 02:54

root_jp様より教示いただいた要素をHTMLへ追記すると、ボックスが<td>内にしっかり収まりました。 念のため、CSSへinput、textareaともに何も要素を指定しない形でスタイルを作成し意図しない幅設定などが出てこないようにしてみました。 大変助かりました、ありがとうございます!
guest

0

<input>height:4pxを指定しているからでは?

html

1<input class = "number2" type="tel" name="suryo[]" autocomplete="off" maxlength="2" style="width:50px; height:4px; font-size: 17px;">

投稿2020/08/13 10:04

nekoniki

総合スコア2411

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

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

Melancholic

2020/08/13 11:10

height指定を削除すると、ボックスの縦幅が画像(質問内へ追加)のように伸びてしまいます。 また、親タグの<tr>を<tr style= "height=5px;">に書き直してみましたが、隙間は変わりませんでした。
Melancholic

2020/08/13 11:13

すみません、<tr style= "height=4px;">の間違いです。 <input>タグの指定と合わせました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問