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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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

Q&A

解決済

1回答

835閲覧

【HTML・CSS】tableのdisplay:block;について

yko450

総合スコア11

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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

0グッド

0クリップ

投稿2019/07/19 02:29

前提・実現したいこと

【HTML・CSS】のtableでスマホでは縦、パソコンでは横に表示したいです。

ここに質問の内容を詳しく書いてください。
@media (min-width : 600px)以降で、display:block;を無効にしても解除されず、うまく表示されません。@media (min-width : 600px)より後で、display:block;が解除できていないみたいなのですが、どうでしょうか。なにか解決策あればお願いいたします。

該当のソースコード

html

1<table class="form"> 2<tr> 3<th>お名前※</th> 4<td><input size="30" type="text" name="お名前" /> </td> 5</tr> 6<tr> 7<th>電話番号(半角)</th> 8<td><input size="30" type="text" name="電話番号" /></td> 9</tr> 10<tr> 11<th>Mail(半角)※</th> 12<td><input size="30" type="text" name="Email" /> </td> 13</tr> 14<tr> 15<th>お問い合わせ内容<br /></th> 16<td><textarea name="お問い合わせ内容" cols="50" rows="5"></textarea></td> 17</tr> 18</table>

css

1table.form{ 2 width:100%; 3} 4table.form th, 5table.form td { 6 width:100%; 7 display:block; 8 border:1px solid #ccc; 9 padding:10px; 10 box-sizing: border-box; 11} 12table.form th { 13 text-align: left; 14 font-weight:normal; 15 background:#efefef; 16 margin-top:10px; 17 border-bottom:0; 18} 19input[type="text"], 20textarea { 21 width:100%; 22 padding:5px; 23 font-size:120%; 24 display:block; 25 box-sizing: border-box; 26} 27input[type="submit"], 28input[type="reset"], { 29 display:block; 30 width:100%; 31 height:40px; 32 margin-top:20px; 33} 34 35 36 37@media (min-width : 600px) { 38table.form{ 39 width:100%; 40} 41table.form th, 42table.form td { 43 width:100%; 44 border:1px solid #ccc; 45 padding:10px; 46 box-sizing: border-box; 47} 48table.form th { 49 text-align: left; 50 font-weight:normal; 51 background:#efefef; 52 margin-top:10px; 53 border-bottom:0; 54} 55input[type="text"], 56textarea { 57 width:100%; 58 padding:5px; 59 font-size:120%; 60 box-sizing: border-box; 61} 62input[type="submit"], 63input[type="reset"], { 64 width:100%; 65 height:40px; 66 margin-top:20px; 67} 68} 69

試したこと

@media前後の違いは、display:block;があるかないかだけです。
@media (min-width : 600px)を (max-width : 600px)にかえて、前後逆にすると、うまく表示しました。じゃあ、(max-width : 600px)でしたらいいと思われるかもしれませんが、他のページに影響するので、できません。よろしくお願い申し上げます。

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

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

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

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

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

m.ts10806

2019/07/19 02:33

tableでないといけないのでしょうか。むしろtableは不適当に思いますが・・
yko450

2019/07/19 02:44

パソコン表示ではtableがきれいに出ると思った次第でして。
guest

回答1

0

ベストアンサー

@mediaのないCSSは常に適用されますので、table.form th, table.form tdでかけたdisplay: block;は、@media(min-width : 600px)でも適用されてしまいます。

どうしても「全体でdisplay: block;をかけて、@mediaでそれを外す」という構造を維持しないといけないのであれば、@media(min-width : 600px)内のtable.form th, table.form tddisplay:table-cellをかけて上書きして戻す、という形になるかと思います。

投稿2019/07/19 02:34

maisumakun

総合スコア145184

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

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

yko450

2019/07/19 02:42

できましたー!なるほど理解できました!ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問