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

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

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

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

Q&A

解決済

2回答

404閲覧

positionを使ってるのにimgの高さがそのまま

ayuayuayu

総合スコア68

CSS

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

0グッド

0クリップ

投稿2022/10/11 04:59

編集2022/10/11 05:08

positionを使ってるのにimgの高さがなくならず、本来の画像の高さを保ったままです。
普通高さは0になり、次の要素に影響が出ると思うのですがなぜ高さを保てているのかわかりません
どなたか教えて下さい、、、

画像一つ一つにcssを付けているのは違うアニメーションを設定してたからで、今はアニメーションを消した状態です。

<div class="top"> <img class="top-bk"src="img/top.png"> <img class="top1"src="img/top1.png"> <img class="top2"src="img/top2.png"> <img class="top3"src="img/top3.png"> </div> body{ width: 100%; margin: 0 0; } img.top-bk { width: 100%; position:relative; } .top img { width: 100%; } img.top1{ position: absolute; top: 0; left: 0; width:100%; } img.top2{ position: absolute; top: 0; left: 0; width:100%; } img.top3 { position: absolute; top: 0; left: 0; opacity: 1; }

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

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

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

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

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

int32_t

2022/10/11 05:04

何の高さがなくなるはずなのでしょうか。
ayuayuayu

2022/10/11 05:09

編集しました!画像の高さです。
m.ts10806

2022/10/11 05:17

なぜpositionで高さがなくなると思ったのでしょうか? 根拠や参考にした記事など提示してください。
ayuayuayu

2022/10/11 05:45

position: relativeは高さが0になると間違った覚え方してました、、
guest

回答2

0

  • position: absoluteをつけて高さが0になるのは、内容物のない要素だと思います。
    • 例えば、<div></div>など
  • imgタグは画像という内容物を持っていますので、画像のサイズより小さくなることはないです。
    • 他には例えば、<div>こんにちは</div>は、「こんにちは」という内容物があるので、それより小さくはなりません。
  • absoluteで高さが0になるというよりかは、要素の大きさが内容物のサイズピッタリになる と、解釈されるといいです。
    • なので内容物がないと、幅も高さも0まで縮んでしまいます。

投稿2022/10/11 05:19

編集2022/10/11 05:30
Cocode

総合スコア2314

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

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

ayuayuayu

2022/10/11 05:45

ありがとうございます。 position: relativeは高さが0になると間違った覚え方してました、、 内容物がないと幅も高さも0まで縮んでしまうんですね、、 理解出来ました! ベストアンサーは先に答えて頂いた方にさせて頂きました。。。 細かく説明して下さりありがとうございました。
guest

0

ベストアンサー

position を指定した要素の高さがなくなる、という挙動はありません。

static relative 以外の値を指定した場合、指定した要素の親が指定要素の領域を確保しなくなるため、親の高さが縮んだり、指定要素に続く要素の位置が前にずれたりします。

質問文のコードの場合、top-bkposition: relative なので、その親の top の高さは top-bk の高さになるでしょう。top-bkposition: absolute なら、top の高さは0になりそうです。

投稿2022/10/11 05:16

編集2022/10/11 05:21
int32_t

総合スコア20880

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

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

ayuayuayu

2022/10/11 05:37

なるほど!! だからtopの高さが画像の高さになってたんですね! position: relativeは高さが0になると間違った覚え方してました、、 理解出来ました!ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問