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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

CSS

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

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

Q&A

解決済

1回答

1170閲覧

【CSS】<table>の横幅を100%にしつつ項目は左寄せにしたい

true_colors_20

総合スコア25

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

CSS

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

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

0グッド

0クリップ

投稿2021/08/06 08:06

前提・実現したいこと

<table>の横幅を100%にしつつ、各<td>の項目は左寄せ、文字数に応じて右側の余白が縮む。
これを全て満たしたいのですが、CSSだけで実現可能でしょうか?(jsで幅取得して...はやりたくない)

イメージ

文字数少ない時
イメージ説明

文字数多い時
イメージ説明

該当のソースコード

<table> <thead> <th></th> <th>氏名</th> <th>TEL</th> <th>携帯</th> </thead> <tbody> <tr> <td>契約者名</td> <td>東野啓介</td> <td>090-8757-3647</td> <td>090-3839-2981</td> </tr> <tr> <td>入居者名</td> <td>東野啓介</td> <td>090-8757-3647</td> <td>090-3839-2981</td> </tr> <tr> <td>貸主名</td> <td>東野啓介</td> <td>090-8757-3647</td> <td>090-3839-2981</td> </tr> </tbody> </table>

試したこと

空の<td>を、各<tr>の一番最後に追加して、その<td>のwidthを100%にする。

氏名などの<td>が横に潰れた(1文字分のwidthになった)

<table>white-space: nowrapをつけたらいい感じになった

が、文字数が画面幅より大きくなると、画面外へ貫通してしまう(これで折り返してくれれば成功だった)

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

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

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

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

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

guest

回答1

0

ベストアンサー

テーブルレイアウトをあきらめてグリッドレイアウトで解決するのはどうでしょうか。
サンプルを置いておきます。

https://jsfiddle.net/Lhankor_Mhy/kf35zc2b/

css

1table{ 2 width:100%; 3 display: grid; 4 grid-template-columns: auto auto auto 1fr; 5} 6thead,tbody,tr{ 7 display:contents; 8}

投稿2021/08/07 01:10

Lhankor_Mhy

総合スコア36163

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

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

true_colors_20

2021/08/09 06:59

gridはこのような使い方もできるのですね。ためになりました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問