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

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

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

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

CSS

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

Q&A

解決済

3回答

2355閲覧

tableで表を作成、レスポンシブ対応させたい

chaso0start

総合スコア15

HTML

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

CSS

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

0グッド

1クリップ

投稿2019/03/14 14:27

以下のようなpc表示とsp表示のレスポンシブができる表を作成したいのですが、レスポンシブを見込んだhtmlの構造が全く分かりません。
table以外のタグでも試しましたが、実現できないのでお力添えをお願い致します。

pc表示
スマホ表示

html

1<table> 2 <tr> 3  <th colspan="">スタンダードコース (通常コース)</th> 4 </tr> 5 <tr> 6  <td> 7  <td>日数</td> 8 <td>60日</td> 9  </td> 10 <td> 11  <td>回数</td> 12 <td>16回</td> 13 </td> 14 <td> 15 <td>金額</td> 16 <td>129,000円</td> 17 </td> 18 </tr> 19 <tr> 20 <td colspan="">パーソナルトレーニング45分 + 有酸素運動15分</td> 21 </tr> 22</table>

現状

tableタグでなくても全く問題ないです。
どのようにコーディングをすれば良いかご教示頂けますと幸いです。

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

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

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

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

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

yoshinavi

2019/03/15 10:16

解決済みですが、HTML5として見ると、tableが適した使い方と思います。
guest

回答3

0

Bootstrap風に

HTML

1 <dl class="row"> 2 <dt class="col-6 col-sm-2">日数</dt> 3 <dd class="col-6 col-sm-2">60日</dd> 4 <dt class="col-6 col-sm-2">回数</dt> 5 <dd class="col-6 col-sm-2">16</dd> 6 <dt class="col-6 col-sm-2">金額</dt> 7 <dd class="col-6 col-sm-2">129,000円</dd> 8 </dl>

CSS

1.row { 2 display: flex; 3 flex-wrap: wrap; 4 margin-top: 0; 5 margin-bottom: 0; 6} 7 8.row > * { 9 margin: 0; 10} 11 12.col-6 { 13 flex: 0 0 50%; 14 max-width: 50%; 15} 16 17@media (min-width: 576px) { 18 .col-sm-2 { 19 flex: 0 0 16.666667%; 20 max-width: 16.666667%; 21 } 22}

投稿2019/03/15 05:30

x_x

総合スコア13749

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

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

chaso0start

2019/03/15 06:11

ご回答有難うございました。解決致しました。
guest

0

CSS

1.tr { 2 float: left; 3 / * 以下略 */ 4}

HTML

1<div class="tr"> 2 <div class="th">日数</div> 3 <div class="td">60日</div> 4</div> 5<div class="tr"> 6 <div class="th">日数</div> 7 <div class="td">60日</div> 8</div> 9<div class="tr"> 10 <div class="th">日数</div> 11 <div class="td">60日</div> 12</div>

Re: chaso0start さん

投稿2019/03/15 00:15

think49

総合スコア18164

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

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

chaso0start

2019/03/15 06:11

ご回答有難うございました。解決致しました。
guest

0

ベストアンサー

やり方はいくつかあると思いますが、1つの方法を紹介します。

上段、中段の6つの項目、下段をそれぞれdivで囲みます。
上段と下段はpcとspでレイアウトは変わらないのでCSSはfont-sizeくらい変えるだけ。
中段はflexなどで横並びにする。
pcの中段は1段6項目なので、それぞれのwidthを均等(100% / 6)に設定する。
spの中段は1段2項目が3つなのでそれぞれにwidthを50%にすればうまく表示されます。

投稿2019/03/14 15:01

編集2019/03/14 15:03
gogojp

総合スコア211

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

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

chaso0start

2019/03/15 06:11

早々にご回答有難うございました。解決致しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問