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

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

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

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

Q&A

解決済

2回答

774閲覧

CSS position: relative; position: absolute; の使い方について

Flaycat

総合スコア2

CSS

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

0グッド

0クリップ

投稿2021/06/29 10:40

CSSの孫要素の扱いについて教えていただきたいです。

やりたい簡単なイメージです。
イメージ説明

やりたいこととしてはAの枠の中にB,B-2、C,C-2が収まってる
かつBの中にB-2が、Cの中にC-2が収まるようにしたいです。

HTML

1<div class="device"> 2 <div class="A"> 3 <img class="B" src=".png"> 4 <img class="B-2" src=".png"> 5 6 <img class="C" src=".png"> 7 <img class="C-2" src=".png"> 8 </div>

このように記述した場合のCSSの記述がわかりません。

※見づらかったので、まとめてます。

CSS

1.A,.B,.C { 2 position: relative; 3} 4 5.B-2,.C-2 { 6 position: absolute; 7} 8

これなのか、

CSS

1.A { 2 position: relative; 3} 4 5.B,.C,.B-2,.C-2 { 6 position: absolute; 7} 8

こちらなのか、それとも別なのか。

ご教授いただきたいです。
よろしくお願いします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

投稿2021/06/29 15:10

編集2021/06/30 03:38
Jon_do

総合スコア1373

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

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

Flaycat

2021/06/29 23:50

ご回答ありがとうございます。 B-2,C-2の画像は変更が必要なものなので1枚の画像にすることができません。
Jon_do

2021/06/30 00:17 編集

BとCはimgである必要はありますか? 装飾が目的なら下記のようにdivで囲んで background-imageを使用したほうが良いかと思います。 <div class="A"> <div class="hoge"> <img class="B-2" src=".png"> </div> <div class="hoge2"> <img class="C-2" src=".png"> </div> </div>
Flaycat

2021/06/30 01:23

ご回答ありがとうございます。 BとCはPCとスマホの枠になります。 その後ろに可変のB-2,C-2があるためimgで設定しています。 background-imageでも重ね順として後ろにB-2,C-2を配置することは可能でしょうか?
Flaycat

2021/06/30 07:50

コードありがとうございます。 無事設定できました。
guest

0

前者でもできないことはないと思いますが、後者の方がいいと思います。

投稿2021/06/29 11:19

Lhankor_Mhy

総合スコア36960

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

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

Lhankor_Mhy

2021/06/29 11:30

と思ったのですが、どちらでも位置調整が必要なので、どちらでもよさそうな気がしてきました。 できれば、HTMLをもう少し変えたい感じですね。
Flaycat

2021/06/29 23:54

ご回答ありがとうございます。 なにかHTMLでいい案はありますでしょうか? もしご存じであればご教授いただければと思います。
YA-METAL

2021/06/30 00:19

前者の場合,B-2,C-2の対応するrelativeはAになります。BとCにrelativeを書いても意味ありません
Lhankor_Mhy

2021/06/30 00:35

B群とC群にそれぞれラッパー要素を設けた方がいいんじゃないかと思います。
Lhankor_Mhy

2021/06/30 01:23

> YA-METALさん もしかして、私宛ですかね? それはその通りなんですが、前者の方はBとCが重ならないので、その点では absolute より少し楽かもしれません。(もちろん、それなら static でいいわけなのですが。) どちらにせよ、B-2,C-2の水平位置を指定する必要があるので、どっちでもいいかな、と。
Flaycat

2021/06/30 01:30

ラッパー要素を使ったことがないのですが、どのような記述をするのでしょうか?
Lhankor_Mhy

2021/06/30 01:45

div要素で包めばいいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問