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

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

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

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

CSS

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

Q&A

解決済

2回答

449閲覧

table内に余白をつけて並べたい

sena14

総合スコア109

HTML

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

CSS

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

0グッド

1クリップ

投稿2019/01/12 06:16

編集2019/01/12 11:36

下記のようなテーブルでtrの上下にpadding(32px)をつけかつ下線をひく。BBBBBBのtdにmargin-left(8px)をつけたいです。
要はテーブルの行の高さを内容より高くし、AとBのtd間に余白をつけたいというものです。

どのように指定すれば良いのかわからず困っています。

border-collapse: collapse;としないと下線が消えてしまいますし、separateにしないとborder-spacingが適応されません。

どのようにすればうまくいくのでしょうか?
よろしくお願いします。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
*追記
下のdivで組んでみたのですがここからどうしたらいいのかわからず困っています。
divで組んでもmarginが表示されません。

やりたいこととしては
1、AとBの間に余白をつける。
2、Bの文字数が増えた時に改行はAより左に表示されAの上下はBの高さの中心に来るようにしたいです。

<table> <tr> <td>AAAAAA</td> <td>BBBBBB</td> </tr> <tr> <td>AAAAAA</td> <td>BBBBBB</td> </tr> <tr> <td>AAAAAA</td> <td>BBBBBB</td> </tr> <tr> <td>AAAAAA</td> <td>BBBBBB</td> </tr> <tr> <td>AAAAAA</td> <td>BBBBBB</td> </tr> </table>
table{ border-collapse: collapse; border-spacing: 8px; } tr { background-image: repeating-linear-gradient(90deg, #000, #000 10px, transparent 0, transparent 15px); background-size: 15px 2px; background-position: bottom left; background-repeat: repeat-x; } td { padding: 32px 0px; }
<div class="table"> <div class="column"> <div class="A"> AAAAAA </div> <div class="B"> BBBBBB </div> </div> <div class="column"> <div class="A"> AAAAAA </div> <div class="B"> BBBBBB </div> </div> <div class="column"> <div class="A"> AAAAAA </div> <div class="B"> BBBBBB </div> </div> <div class="column"> <div class="A"> AAAAAA </div> <div class="B"> BBBBBB </div> </div> </div>
.column{ border-bottom: dashed 2px #000000; padding: 32px 0; } .A{ float: left; } .B{ margin-left: 8px; }

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

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

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

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

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

yoshinavi

2019/01/12 07:13

現状ではtdの左右両方にmarginは付けれますが、片方のみにmarginは付けれません。 (前回の質問に回答した方法です。) tableではなく、div等をflex等で見た目上表みたいにする方法、ではダメなのでしょうか?
sena14

2019/01/12 08:37

特にtableにこだわりはありません。 divで上記のような表を作っていて参考にできそうなサイトなどありますでしょうか?
yoshinavi

2019/01/12 08:45

であれば、「div 並べる」等検索すると、横並びの方法はいくつかあり、それぞれの特徴を理解したのちに、適用させれば良いかと思います。
sena14

2019/01/12 11:36

divで組んでみたのですがやはり細かいところで詰まってしまいます。 どのようにしたらいいでしょうか?よろしくお願いします。
guest

回答2

0

ベストアンサー

div組みについての回答です。

提示コードの場合は、「.B」にもfloatを設定すると「margin-left」が効きます。

CSS

1.A { 2 float: left; 3} 4 5.B { 6 float: left; /* ← 追加 */ 7 margin-left: 8px; 8}

-追記-

条件を良く見ていなかったです。条件に合わせるには「flex」が簡単かと思います。
※「.A」は不要ですが、他の装飾等があれば記述してください。

CSS

1.column { 2 border-bottom: dashed 2px #000000; 3 padding: 32px 0; 4 display: flex; /* ← 追加 */ 5 align-items: center; /* ← 追加 */ 6} 7 8.B { 9 margin-left: 8px; 10} 11

改行はAより左に表示され・・・

「右」の間違いと理解しましたが違っていたらコメントしてください。

投稿2019/01/13 09:36

編集2019/01/13 09:56
yoshinavi

総合スコア3523

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

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

0

HTML

1<table> 2 <tr> 3 <td>AAAAAA</td> 4 <td>BBBBBB BBBBBB BBBBBB BBBBBB</td> 5 </tr> 6 <tr> 7 <td>AAAAAA</td> 8 <td>BBBBBB</td> 9 </tr> 10 <tr> 11 <td>AAAAAA</td> 12 <td>BBBBBB</td> 13 </tr> 14 <tr> 15 <td>AAAAAA</td> 16 <td>BBBBBB</td> 17 </tr> 18 <tr> 19 <td>AAAAAA</td> 20 <td>BBBBBB</td> 21 </tr> 22</table>

CSS

1table { 2 border-collapse: collapse; 3 border-spacing: 8px; 4} 5 6tr { 7 background-image: repeating-linear-gradient(90deg, #000, #000 10px, transparent 0, transparent 15px); 8 background-size: 15px 2px; 9 background-position: bottom left; 10 background-repeat: repeat-x; 11} 12 13td { 14 padding: 32px 0px; 15} 16 17/* 以下 追加コード */ 18td:first-child::after { 19 content: ""; 20 margin-right: 8px; 21}

前者のコードグループ(<TABLE>タグ版)に
セル「AAAAAA」の後ろへ ::afterを使って余白をつけることができました。
まだ Chrome でしか確認していませんが、下線に影響は出ていません。

サンプル(JSFiddle)

投稿2019/01/12 16:21

Sohaya

総合スコア254

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問