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

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

詳細はこちら
HTML5

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

HTML

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

CSS

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

Q&A

解決済

2回答

1458閲覧

dl,dd要素の位置の調整

chapman

総合スコア4

HTML5

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/01/01 11:55

前提・実現したいこと

LP模写をしています。
dd要素の中に入れたh3[新年を新たな気持で迎える・・・]のタイトル部分を下の内容文と始めを同じにしたいです。
dd部分のCSSはネットで同じようなマークアップをコピペしました。なのでh3部分のみ反映されないのですがよく原因がわかりません。

ちなみにliで記事一覧のようにしようと思っています。
できればシンプルなマークアップをしたいのですがなにかご指摘いただけたらうれしいです。
当方初心者のためおてやわらかにしていただけると助かります。

html

<div id="news_wrapper"> <div id="news_title"> <h2>NEWS</h2> <div id="news_link"> <a href="#">MORE</a> </div><!-- news_link --> </div> <!-- news_title --> <ul> <li> <dl> <dt> <img src="image/2021 happy new year.jpg" alt="#"> </dt> <dd> <h3><a href="#">新年を新たな気持で迎える!PAS-POLより、人気商品が詰まった「選べる」福袋の発売がスタート</a> </h3> <span>2020.12.10</span> <p>今年は、いろんなことがあった1年でした。2021年は、もっと笑ってもっと楽しむ1年に。 世界の旅先に想いを馳せて、日本の魅力を再発見した2020年。旅ができることは当たり前じゃなかった。そんなことを気付かされた年になりました。 来年こそは、徐々に国内外を自由に行き来することができますように。 未来への予定を立てたり、絶景を眺めながらあこがれの場所や再訪したい場所をピックアップしたり。ワクワクした気持ちになって新たな気持で新年を迎えられるPAS-POLグッズを詰め込み、2種類の福袋をご用意いたしま ...</p> </dd> </dl> </li> </ul> </div><!-- news_wrapper -->

CSS

/* ======================================== NEWS ========================================= */ div#news_wrapper { width: auto; height: 1333px; background-color: #f6f6f6; margin: 0 auto; padding: 109px 416px 127px 416px; } div#news_title { /* background-color: green; */ width: 817px; height: 48px; float: left; margin-bottom: 63px; } div#news_title h2 { font-size: 30px; display: inline-block; background: url(image/sectionTitle-underLine@2x.png) no-repeat left bottom; } div#news_link { border: 1px solid #000; height: 46px; width: 162px; background: url(image/button-arrow@2x.png) no-repeat; background-position: 141px center; float: right; } div#news_link a { color: #000; text-decoration: none; font-size: 14px; line-height: 46px; text-align: center; display: block; } div#news_wrapper ul li { display: inline-block; width: 920px; position: relative; z-index: 1; } div#news_wrapper ul li dl dt { margin-right: 28px; float: left; } div#news_wrapper ul li dl dt img { height: 146px; width: 322px; } div#news_wrapper ul li dl dd { height: auto; width: calc(100% - 463px); float: left; } div#news_wrapper ul li dl dd h3 a { text-decoration: none; color: #000; font-weight: bold; letter-spacing: 0.03em; position: absolute; top: 0; right: 0; width: 100%; height: 100%; z-index: 2; } div#news_wrapper ul li dl dd h3 a:hover { filter:alpha(opacity=70);/* IE 6,7*/ -ms-filter: "alpha(opacity=70)";/* IE 8,9 */ -moz-opacity:0.7;/* FF , Netscape */ -khtml-opacity: 0.7;/* Safari 1.x */ opacity:0.7; zoom:1;/*IE*/ } div#news_wrapper ul li dl dd span { font-size: 12px; color: #656c6e; } div#news_wrapper ul li dl dd p { font-size: 13px; color: #656c6e; letter-spacing: 0.09em; }

イメージ説明

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

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

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

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

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

guest

回答2

0

この構成なら、dlリストは不要ですね。自分なら Flexbox を使い、こんな感じにします。
ざっくりなので装飾なし、レスポンシブ対応やブラウザ互換はバッチリじゃないですが。

html

1<style> 2 .news { outline: 1px dotted red; 3 max-width: 44.75em; 4 padding: 1em 2em; 5 } 6 .news__title { 7 display: flex; 8 align-items: flex-start; 9 justify-content: space-between; 10 } 11 .news__title h2 { 12 margin-top: 0; 13 } 14 .news ul { 15 padding-left: 0; 16 } 17 .news__item { 18 display: flex; 19 justify-content: space-between; 20 flex-direction: column; 21 } 22 .news__item:not(:first-child) { 23 margin-top: 2em; 24 } 25 .news_item__content { 26 order: 1; 27 } 28 .news_item__img { 29 order: 0; 30 } 31 .news_item__img img { 32 max-width: 100%; 33 } 34 35 @media (min-width: 768px) { /* デスクトップ表示 */ 36 .news__item { 37 flex-direction: row; 38 } 39 .news_item__content { 40 width: 60%; 41 } 42 .news_item__img { 43 width: 35%; 44 } 45 } 46</style> 47 48<div class="news"> 49 <div class="news__title"> 50 <h2>NEWS</h2><a href="#">MORE</a> 51 </div> 52 <div class="news__body"> 53 <ul> 54 <li class="news__item"> 55 <div class="news_item__content"> 56 <h3><a href="#">新年を新たな気持で迎える!PAS-POLより、人気商品が詰まった「選べる」福袋の発売がスタート</a></h3> 57 <span class="news__item__date">2020.12.10</span> 58 <p>今年は、いろんなことがあった1年でした。2021年は、もっと笑ってもっと楽しむ1年に。 世界の旅先に想いを馳せて、日本の魅力を再発見した2020年。旅ができることは当たり前じゃなかった。そんなことを気付かされた年になりました。 来年こそは、徐々に国内外を自由に行き来することができますように。 未来への予定を立てたり、絶景を眺めながらあこがれの場所や再訪したい場所をピックアップしたり。ワクワクした気持ちになって新たな気持で新年を迎えられるPAS-POLグッズを詰め込み、2種類の福袋をご用意いたしま ...</p> 59 </div> 60 <p class="news_item__img"><img src="http://dummyimage.com/600x400/CCC/fff.png&text=代替テキスト"></p> 61 </li> 62 <li class="news__item"> 63 <div class="news_item__content"> 64 <h3><a href="#">新年を新たな気持で迎える!PAS-POLより、人気商品が詰まった「選べる」福袋の発売がスタート</a></h3> 65 <span class="news__item__date">2020.12.10</span> 66 <p>今年は、いろんなことがあった1年でした。2021年は、もっと笑ってもっと楽しむ1年に。 世界の旅先に想いを馳せて、日本の魅力を再発見した2020年。旅ができることは当たり前じゃなかった。そんなことを気付かされた年になりました。 来年こそは、徐々に国内外を自由に行き来することができますように。 未来への予定を立てたり、絶景を眺めながらあこがれの場所や再訪したい場所をピックアップしたり。ワクワクした気持ちになって新たな気持で新年を迎えられるPAS-POLグッズを詰め込み、2種類の福袋をご用意いたしま ...</p> 67 </div> 68 <p class="news_item__img"><img src="http://dummyimage.com/600x400/CCC/fff.png&text=代替テキスト"></p> 69 </li> 70 </ul> 71 </div> 72</div> 73

投稿2021/01/03 01:32

編集2021/01/03 01:36
takna

総合スコア784

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

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

chapman

2021/01/03 06:03

回答ありがとうございます!この場合、dlではなくFlexbox にする理由を教えていただきたいです。シンプルになるからでしょうか・・?
takna

2021/01/04 04:37

li > dl と入れ子にする理由がないという意味でした。 float や絶対配置よりシンプルに書けるので Flexbox を使いました。 質問に「シンプルなマークアップ」とあったので、レスポンシブで合理的なコードにした次第です。 解決済みとなっているコードを何が違うか考察いただければ幸いです。
guest

0

ベストアンサー

dd部分のCSSはネットで同じようなマークアップをコピペしました。なのでh3部分のみ反映されないのですがよく原因がわかりません。

意味もわからずコピペしているだけでは、何の進歩もありません。

CSSから、h3に関係する部分を探すと、

CSS

1div#news_wrapper ul li dl dd h3 a { 2 () 3} 4 5div#news_wrapper ul li dl dd h3 a:hover { 6 () 7}

の2箇所だけですね。さらに、下のa:hoverが付いているほうは、ホバー時の設定なので今回の問題とは関係ありません。

div#news_wrapper ul li dl dd h3 aに対するスタイルの内容を見ると、position: absolute;right: 0;といった設定がされていますね。これらの意味を調べて、削除するなり修正するなりすれば、あなたの思い通りの表示になります。

投稿2021/01/02 01:17

Daregada

総合スコア11990

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

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

chapman

2021/01/03 05:54

position: absolute と relativeを削除すると希望通りの場所に配置できました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問