🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML

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

CSS

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

Q&A

解決済

1回答

1113閲覧

dd,dtを使ったフロー(タイムライン風)について

shiro555

総合スコア4

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/03/21 02:58

編集2021/03/21 02:59

前提・実現したいこと
1、CSSでdd,dtを作ったのですが、中心にあるフローの最後を飛び出ないようにしたい(添付画像赤い部分)
2、01から04まで順番に番号を振りたく、contentを使用たが効かない

イメージ説明

該当のソースコード

HTML

1<dl class="table_flexbox"> 2 <dt class="table_flexbx_left museum_flexbox_left">見積もり</dt> 3 <dd class="table_flexbox_right museum_flexbox_right"> 4 <span class="table_bold table_bold_pink">見積もり</span><br> 5 <p class="flexbox_txt_normal">ああああ</p> 6 </dd> 7</dl> 8 9<dl class="table_flexbox"> 10 <dt class="table_flexbx_left museum_flexbox_left">見積もり</dt> 11 <dd class="table_flexbox_right museum_flexbox_right"> 12 <span class="table_bold table_bold_pink">見積もり</span><br> 13 <p class="flexbox_txt_normal">ああああ</p> 14 </dd> 15</dl> 16 17<dl class="table_flexbox"> 18 <dt class="table_flexbx_left museum_flexbox_left">見積もり</dt> 19 <dd class="table_flexbox_right museum_flexbox_right"> 20 <span class="table_bold table_bold_pink">見積もり</span><br> 21 <p class="flexbox_txt_normal">ああああ</p> 22 </dd> 23</dl> 24 25<dl class="table_flexbox"> 26 <dt class="table_flexbx_left museum_flexbox_left">見積もり</dt> 27 <dd class="table_flexbox_right museum_flexbox_right"> 28 <span class="table_bold table_bold_pink">見積もり</span><br> 29 <p class="flexbox_txt_normal">ああああ</p> 30 </dd> 31</dl> 32 33 34

CSS

1.table_flexbox { 2 display: flex; 3 position: relative; 4 max-width: 1000px; 5 margin: 0 auto; 6 font-family: dnp-shuei-gothic-gin-std, sans-serif; 7 font-style: normal; 8 font-weight: 400; 9} 10 11 12.table_flexbox_left { 13 text-align: right; 14 width: 50%; 15 font-size: 22px; 16 color: #000; 17 font-weight: 600; 18 padding-top: 45px; 19 padding-right: 50px; 20 21} 22.table_flexbox_right { 23 width: 50%; 24 font-size: 20px; 25 color: #000; 26 border-left: 2px solid #000; 27 padding-top: 38px; 28 position: relative; 29 padding-left: 80px; 30 text-align: left; 31 line-height: 1.8; 32 counter-reset: number; 33} 34 35 36.table_bold { 37 color: #000; 38 font-size: 22px; 39 font-weight: bold; 40 display: inline-block; 41 line-height: 2.6; 42} 43 44 45.table_bold::before { 46 counter-increment: num 1; 47 content: counter(num,decimal-leading-zero); 48 font-family: roboto,sans-serif; 49 font-size: 18px; 50 display: block; 51 width: 20px; 52 height: 20px; 53 padding: 4px 4px; 54 border-radius: 6px; 55 border: 2px solid #000; 56 background: #fff; 57 position: absolute; 58 top: 50px; 59 left: -17px; 60 line-height: 1.2; 61 62}

試したこと
飛び出た部分をなくすため、.table_flexbox_rightのborder-leftを長さを変化させようと思ったのですが、うまい具合の長さにならず、また、中心線がどんどんずれてしまいました。
また、数字を順番にカウントしていく方法はこれ以外に探し出せず、実装が間違っているのかも探せなかったため、アドバイスをいただきたいです…!

補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

まず、HTMLでdlのフロー全体をdivで囲んでおきます。

html

1<div class="wrapper"> 2 <dl class="table_flexbox"> 34 </dl> 5 <dl class="table_flexbox"> 67 </dl> 891011</div>

直線部分は、現状のddのborder-leftでは位置調整が難しいので、疑似要素のborder-leftで表示させます。最後の直線は、:not(:last-child) で適用を除外させます。

css

1.table_flexbox_right { 2 width: 50%; 3 font-size: 20px; 4 color: #000; 5/* border-left: 2px solid #000; 削除 */ 6 padding-top: 38px; 7 position: relative; 8 padding-left: 80px; 9 text-align: left; 10 line-height: 1.8; 11 counter-reset: number; 12} 13/* 以下追加 */ 14.table_flexbox:not(:last-child) .table_flexbox_right::before { 15 content: ""; 16 display: block; 17 position:absolute; 18 top: 50px; 19 left: 0; 20 height: 100%; 21 border-left: 2px solid #000; 22}

カウンターは全体の親要素でリセットさせれば連番になります。下記のCSSを追加してください。

css

1.wrapper { 2 counter-reset: num; 3}

投稿2021/03/21 03:50

hatena19

総合スコア34073

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

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

shiro555

2021/03/21 05:25 編集

いつもご回答ありがとうございますT T!! 数字部分について.table_bold::beforeの実装は私の書いたコードのままでしょうか? 上記のように入れたら、ブロックのつながりのようなものが連なっている状態になってしまいました。。
shiro555

2021/03/21 05:40

すみません、解決いたしました!! .table_flexbox_right::beforeと元々の.table_bold::beforeが同じ場所にあるクラス名だったので、 擬似要素同士が被っておりました。 お答えいただき本当にありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問