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

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

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

メニューは、UIにおける仕組みであり、ユーザに機能の表示と実行する手段を与えます。

HTML

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

CSS

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

Q&A

解決済

3回答

1991閲覧

dl dt ddでddの部分の文字を一列に揃えたい

cha2maru

総合スコア5

メニュー

メニューは、UIにおける仕組みであり、ユーザに機能の表示と実行する手段を与えます。

HTML

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

CSS

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

0グッド

1クリップ

投稿2021/10/14 02:15

前提・実現したいこと

料金表を作っていますが、料金の部分を一列に揃えたいです。
お手本のCSSもありますが、クラス名は違えど一緒のように思えます…

自分で作ると下記の画像の通り、メニュー名のすぐ後ろにくっついてしまいます。

お手本
イメージ説明

現状
イメージ説明

該当のソースコード

HTML

1 <section class="menu"> 2 <div class="wrapper"> 3 <h2 class="ttl">Menu</h2> 4 <div class="menu_list_txt"> 5 <dl class="menu_list"> 6 <div> 7 <dt>メロンパン</dt> 8 <dd>&yen;220</dd> 9 </div> 10 <div> 11 <dt>りんごのデニッシュ</dt> 12 <dd>&yen;240</dd> 13 </div> 14 </dl> 15 </div> 16 </div> 17 </section> 18

CSS

1.menu { 2 background-image: url(img/bread2.jpg); 3 display: flex; 4 align-items: center; 5} 6 7.wrapper { 8 width: 100%; 9 max-width: 900px; 10 padding-left: 10px; 11} 12 13dl.menu_list div { 14 display: flex; 15}

試したこと

dl.menu_list divにjustify-contentでspace-betweenでは、端にそろってしまうので、やりたいこととは違いました。
個別にdd,dtの幅指定もしましたが、お手本やネットで調べた時のコードにも個別指定はないように思えました。

初めての模写でおそらく基本的なところだと思えますが、大分調べても検討もつきません…。

どなたかご教授の程よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答3

0

ベストアンサー

グリッドレイアウトがいいでしょう。

css

1dl.menu_list div { 2/* display: flex; */ 3 display: contents; 4} 5dl.menu_list { 6 display: grid; 7 grid: auto-flow / auto auto; 8 width: max-content; 9}

投稿2021/10/14 02:42

Lhankor_Mhy

総合スコア36960

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

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

cha2maru

2021/10/14 03:07

回答ありがとうございます! お手本通りにもなって、私の一番やりたかった事が出来ましたので、こちらの方をベストアンサーにさせて頂きました。 グリッドレイアウトについては、初めて聞きました。 文字が長くなっても自動で伸びますね! 「grid: auto-flow / auto auto;」が何なのか…など 掘り下げて詳しく自分でも調べてみようと思います。 ありがとうございます。 またの機会がございましたら、よろしくお願いいたします。
guest

0

縦横に等幅の処理は「表」です
普通にtableで処理すれば良いと思います

CSS

1<style> 2.menu_list{display:table;} 3.menu_list>div{display:table-row;} 4.menu_list dt,.menu_list dd{display:table-cell;} 5</style> 6<dl class="menu_list"> 7<div> 8<dt>メロンパン</dt> 9<dd>&yen;220</dd> 10</div> 11<div> 12<dt>りんごのデニッシュ</dt> 13<dd>&yen;240</dd> 14</div> 15</dl>

投稿2021/10/14 02:19

編集2021/10/14 02:29
yambejp

総合スコア116724

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

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

cha2maru

2021/10/14 03:13

回答ありがとうございます。 今回は調べるとネットによく出てくる「dl」を使ってやりたかったのですが、テーブルのコードでも記述も短かくていいですね。 違う場面でも使ってみようと思います! またの機会がございましたら、よろしくお願いいたします。
guest

0

まず、dlの子要素にdivは置けません(基本置けるのは、dtとdd)。文法違反ですので、div削除してください。

そのうえでレイアウトは現在なら、gridを使うのがいいのでは。

html

1<section class="menu"> 2 <div class="wrapper"> 3 <h2 class="ttl">Menu</h2> 4 <div class="menu_list_txt"> 5 <dl class="menu_list"> 6 <dt>メロンパン</dt> 7 <dd>&yen;220</dd> 8 <dt>りんごのデニッシュ</dt> 9 <dd>&yen;240</dd> 10 </dl> 11 </div> 12 </div> 13</section>

css

1dl.menu_list { 2 display: grid; 3 grid-template-columns: 200px auto; 4}

投稿2021/10/14 02:44

編集2021/10/14 03:33
hatena19

総合スコア34075

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

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

cha2maru

2021/10/14 03:18

回答ありがとうございます! 「grid-template-columns: 200px auto;」でのやり方も、もう少しグリッドレイアウトについて調べて、出来るようにしたいと思います。 またの機会がございましたら、よろしくお願いいたします。
hatena19

2021/10/14 03:32

Lhankor_Mhyさん、ご指摘ありがとうございます。 思い込みはだめですね。ちゃんと調べないと。
Lhankor_Mhy

2021/10/14 03:37

私もつい先日知ったばかりなのです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問