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

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

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

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

HTML

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

CSS

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

Q&A

解決済

1回答

5867閲覧

HTML.CSS imgとpタグが重なってしまう

tanikawa_

総合スコア1

HTML5

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/08/18 01:45

親要素の外(真下)に画像が入ってしまい
さらに下に入れたいテキストがかぶってしまいます。
1画面だけですと対応できるのですが、レスポンシブで表示させたいたいとなると解決策が見つかりません…
教えてくださると幸いです。

HTML

1<main class="wrapper"> 2 <div class="img-wrap"> 3 <img src="img/top_img01.jpg"> 4 <img src="img/top_img02.jpg"> 5 <img src="img/top_img03.jpg"> 6 </div> 7 <div class="concept"> 8 <div class="text scroll-fade"> 9 <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p> 10      <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p> 11      <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p> 12 </div> 13 </div> 14 </main>

CSS

1.img-wrap { 2 width: 100%; 3 position: relative; 4 display: flex; 5 justify-content: center; 6 margin-top: 2.2em; 7} 8.img-wrap img { 9 position: absolute; 10} 11.concept { 12 display: flex; 13 justify-content: center; 14 margin-top: 1em; 15} 16.text { 17 line-height: 2.5; 18 font-size: 0.9em; 19 font-family: serif; 20 color: #696969; 21} 22 23 24@media screen and (min-width: 481px) { 25 .top_logo { 26 padding: 5%; 27 } 28 .top_logo-inner { 29 width: 7em; 30 } 31 .img-wrap { 32 margin-top: 2.6em; 33 } 34 .img-wrap img { 35 width: 63%; 36 object-fit: contain; 37 } 38 .text { 39 width: 35%; 40 } 41} 42 43@media screen and (max-width: 480px) { 44 .img-wrap { 45 margin-top: 15%; 46 } 47 .footer-bottom-img { 48 width: 3em; 49 } 50 .top_logo-inner { 51 width: 5em; 52 } 53 .img-wrap img { 54 width: 90%; 55 object-fit: contain; 56 } 57 .text { 58 width: 55%; 59 } 60} 61

JS

1$(function(){ 2 $('.img-wrap img:nth-child(n+2)').hide(); 3 setInterval(function() { 4 $(".img-wrap img:first-child").fadeOut(4000); 5 $(".img-wrap img:nth-child(2)").fadeIn(4000); 6 $(".img-wrap img:first-child").appendTo(".img-wrap"); 7 }, 4000); 8});

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

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

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

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

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

yambejp

2021/08/18 01:56

イメージが伝わってこないので 現状と希望する結果を図示できませんか?
tanikawa_

2021/08/18 07:20 編集

、画面サイズを拡大したりするとtextがimgにかぶってしまっている状態です。 開発者ツールで確認したところ<div class="img-wrap">の子要素である<img>が<div class="img-wrap">の中に入っていませんでした…。 理想としましては<div class="img-wrap">と<div class="img-wrap">を上下で表示させたいと思っております。
guest

回答1

0

ベストアンサー

重なる原因は、img要素を絶対配置しているからです。
下記のCSSを削除すれば重なることはなくなります。

css

1.img-wrap img { 2 position: absolute; 3}

追記

画像を定期的に切り替えたいということでしょうか。
そのためimg要素を重ねるために絶対配置しているということですかね。

だとしたら、絶対配置にすると親要素(.img-wrap)の高さが0になりますので、
親要素(.img-wrap)の高さを適正に設定する必要がありますね。

下記は padding-top で高さを設定している例です。
(画像の縦横比に応じて修正してください。コードは1:1の場合です。)

css

1.img-wrap img { 2 position: absolute; 3 top:0; /* 追加 */ 4} 5@media screen and (min-width: 481px) { 6 7 .img-wrap { 8 margin-top: 2.6em; 9 padding-top: 63%; /* 追加 */ 10 } 11 .img-wrap img { 12 width: 63%; 13 object-fit: contain; 14 } 15 16} 17@media screen and (max-width: 480px) { 18 .img-wrap { 19 margin-top: 15%; 20 padding-top: 90%; /* 追加 */ 21 } 22 23 .img-wrap img { 24 width: 90%; 25 object-fit: contain; 26 } 27}

投稿2021/08/18 02:21

編集2021/08/18 05:11
hatena19

総合スコア33699

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

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

tanikawa_

2021/08/18 07:19

無事解決しました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問