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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

Q&A

解決済

2回答

14390閲覧

画像と要素をずらして重ねたい

SKYTIME

総合スコア1

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

0グッド

0クリップ

投稿2021/04/29 15:09

編集2021/04/29 16:25

前提・実現したいこと

ホームページ作成の中で、画像と要素を重ね、要素には文字を入れており、それを少しずらして表示したいと思っています。
写真の右下にその説明が被さるイメージです。

https://www.designbetter.co

このトップページみたいな感じにしたいと思っています。

現在はpositionやdispley flexなどで、要素をずらして表示させることは可能だったのですが、すぐ下にフッターがあるのですが、ブラウザの画面を狭めたり、スマートフォンでみた場合、フッターの上に文字が被さってしまいます。

親要素のマージンなどの設定も変えてみたのですが、うまくいきませんでした。
ご教示いただけますようお願いいたします。

該当のソースコード

HTML

1<div class="howToContent"> 2 <img src="src/img/cost.jpg" alt="" class="howToContent-bgi"> 3 <div class="howToContent-content"> 4 <h3>上に被せたい文字列</h3> 5 <p>上に被せたい文字列の説明</p> 6 </div> 7</div>

SCSS

1.howToContent { 2 display: flex; 3 justify-content: center; 4 &-bgi { 5 width: 500px; 6 height: 300px; 7 } 8 &-content { 9 position: absolute; 10 background-color: #fff; 11 top: 15%; 12 left: 50%; 13 padding: 30px; 14 } 15}

試したこと

上記以外にも写真をdiv要素のbackground-imageにしたりしてみましたが、同じ状況です。

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

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

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

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

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

itagagaki

2021/04/29 15:26

> 画面の幅を狭めると、次の要素の上にかかってきてしまいます。 私にはこの意味がわからなかったので、もう少し詳しく説明してもらえますか? (ここで答えるのではなく質問を編集してください)
SKYTIME

2021/04/29 15:53

編集させていただきました。 よろしくお願いいたします。
itagagaki

2021/04/29 16:04

うーん、「画面の幅を狭めると」というのが、どういう状況なのか、どうもわからないんですよね。。。
SKYTIME

2021/04/29 16:26

わかりづらくすみません。。。 変更させていただきましたが、ウインドウを狭めたり、スマートフォンでみた場合ということになります。
guest

回答2

0

ベストアンサー

display: flex;で横並びさせているようですか、
子要素をposition: absolute;で絶対配置したら flex の設定が無意味になってしまいます。

display: flex;を活かすなら、絶対配置はやめてネガティブマージンで重ねるようにすればどうでしょう。

一例のコードです。

scss

1.howToContent { 2 display: flex; 3 justify-content: center; 4 align-items: center; //上下中央配置 5 &-bgi { 6 width: 500px; 7 height: 300px; 8 } 9 &-content { 10 background-color: pink; 11 padding: 30px; 12 margin-left: -250px; //250px重ねる 13 min-width: 150px; 14 } 15}

投稿2021/04/30 02:20

hatena19

総合スコア33795

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

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

SKYTIME

2021/04/30 12:26

ありがとうございます! 可能であれば、上のコードよりも文字の要素を下にずらした状態にしたいのですが、可能でしょうか?
hatena19

2021/04/30 12:46

margin-top を設定すれば下にずらすことができます。
SKYTIME

2021/05/01 14:16

ありがとうございます! 希望通りのものができました!
guest

0

ウィンドウの狭さなどに影響して勝手に動いたりしないようにするには、

css

1overflow: hidden;

を使うとどうでしょうか。

投稿2021/04/29 16:55

neuromancer

総合スコア72

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問