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

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

詳細はこちら
HTML

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

CSS

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

Q&A

解決済

2回答

1416閲覧

HTMLのアコーディオン毎の余白を変更したい

tuntun

総合スコア35

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/12/18 06:23

編集2020/12/18 08:38

HTMLでQAリストとしてアコーディオンを作りたく、実装自体はできているのですが、いくつか分からないことがあり質問します。

それぞれのコードが

HTML

1 <div class="qa-list mts"> 2 <dl class="qa"> 3 <dt>タイトル1</dt> 4 <dd> 5 <p>内容1</p> 6 </dd> 7 </dl> 8 <dl class="qa"> 9 <dt>タイトル2</dt> 10 <dd> 11 <p>内容2</p> 12 </dd> 13 </dl> 14 </div>

CSS

1 2.qa-list dl { 3 position: relative; 4 margin: 30px 0 0; 5 cursor: pointer; 6 border: 1px solid #DDD; 7 border-width:2px 0px 2px 0px; 8} 9 10.qa-list dl:first-child { 11 margin-top: 0; 12} 13 14.qa-list dl::after { 15 position: absolute; 16 top: 27px; 17 right: 26px; 18 display: block; 19 width: 7px; 20 height: 7px; 21 margin: auto; 22 content: ''; 23 transform: rotate(135deg); 24 border-top: 2px solid #000; 25 border-right: 2px solid #000; 26} 27 28.qa-list .open::after { 29 transform: rotate(-45deg); 30} 31 32.qa-list dl dt { 33 position: relative; 34 margin: 0; 35 padding: 20px 20px 20px 60px; 36 font-weight: bold; 37 background: #FFF; 38} 39 40.qa-list dl dt::before { 41 font-size: 22px; 42 line-height: 1; 43 position: absolute; 44 top: 20px; 45 left: 20px; 46 display: block; 47 content: 'Q.'; 48 color: #C59C45; 49} 50 51.qa-list dl dd::before { 52 font-size: 22px; 53 line-height: 1; 54 position: absolute; 55 left: 20px; 56 display: block; 57 content: 'A.'; 58 font-weight: bold; 59 color: #5DADBB; 60} 61 62.qa-list dl dd { 63 position: relative; 64 margin: 0; 65 padding: 20px 20px 20px 60px; 66 background: #f1f1f1; 67} 68 69.qa-list dl dd p { 70 margin: 30px 0 0; 71} 72 73.qa-list dl dd p:first-child { 74 margin-top: 0; 75} 76 77@media screen and (max-width: 767px) { 78 .qa-list dl { 79 margin: 10px 0 0; 80 } 81 .qa-list dl:after { 82 top: 20px; 83 right: 20px; 84 width: 7px; 85 height: 7px; 86 } 87 .qa-list dl dt { 88 padding: 16px 16px 16px 50px; 89 font-size: 14px; 90 } 91 .qa-list dl dt::before { 92 font-size: 14px; 93 top: 20px; 94 left: 20px;![![イメージ説明](cb383e735848d9dd7bf7cfa9a912224a.png)](eaea7c9d07010e9915bcbdef42e63db5.png) 95 } 96 .qa-list dl dd::before { 97 font-size: 14px; 98 left: 20px; 99 margin-top: 5px; 100 } 101 .qa-list dl dd { 102 margin: 0; 103 padding: 16px 16px 16px 50px; 104 font-size: 14px; 105 } 106 .qa-list dl dd p { 107 margin: 30px 0 0; 108 } 109 .qa-list dl dd p:first-child { 110 margin-top: 0; 111 } 112}

JS

1window.addEventListener('DOMContentLoaded', function(){ 2 $(".qa-list dd").hide(); 3 $(".qa-list dl").on("click", function(e){ 4 $('dd',this).slideToggle('fast'); 5 $(this).toggleClass('open'); 6 }); 7});

このようなコードになっており、表示すると
イメージ説明

このようになってしまいます。

  • それぞれの幅をゼロにしてタイトル1の下線がタイトル2の上部の線になるように変更したいです。

また、

  • 「Q」の文字を同様のサイズ感の画像を挿入したいのですが、それについてもどのように変更したらいいのでしょうか?

CSSが覚束なく、どれを変更したらいいのか分からず教えて頂けませんでしょうか?
よろしくお願いいたします。

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

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

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

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

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

Lhankor_Mhy

2020/12/18 08:36

ご提示のコードを試してみましたが、スクリーンショットのようになりませんでした。 もしかして、JavaScriptを使っていませんか?
tuntun

2020/12/18 08:39

JS使用しています。コードを追加いたしました
guest

回答2

0

下記でどうでしょう。

css

1.qa-list dl { 2 position: relative; 3/* margin: 30px 0 0; 削除 */ 4 margin: 0; /* 追加 */ 5 cursor: pointer; 6 border: 1px solid #DDD; 7 border-width:0px 0px 2px 0px; 8} 9 10.qa-list dl:first-child { 11/* margin-top: 0; */ 12 border-width:2px 0px 2px 0px; 13} 14 15/* 以下略 */

投稿2020/12/18 08:54

hatena19

総合スコア34073

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

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

0

ベストアンサー

こんばんは。

以下のような感じではどうですか?

それぞれの幅をゼロにしてタイトル1の下線がタイトル2の上部の線になるように変更したいです。

css

1.qa-list dl { 2 position: relative; 3 /* margin: 30px 0 0; */ margin: 0; 4 cursor: pointer; 5 border: 1px solid #DDD; 6 border-width: 2px 0px 2px 0px; 7}

「Q」の文字を同様のサイズ感の画像を挿入したいのですが、それについてもどのように変更したらいいのでしょうか?

css

1.qa-list dl dt::before { 2 content: url(【画像URL】); 3}

投稿2020/12/18 08:45

Lhankor_Mhy

総合スコア36928

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問