positionの相対位置の意味がわかりません。
position:relative;
top:30px;
left:50px;
とした場合。
どこからの距離を言っているのでしょうか?
position:absolute;
top:30px;
left:40px;
にすると、画面の上から30ピクセル、左から40ピクセルの位置ですよね?
これを position:relative;にすると、どこからどこまでの距離なのかがわからないのです。
よろしくお願いします。
また、HTMLなどによく出てくる「相対」という言葉がいまいちわかりません。
もちろん「絶対」という言葉もわからないのですが・・・。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
常に仕様書を確認する癖をつけましょう。
REC-CSS2 邦訳 ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
→9.3 配置体系(Positioning schemes) ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
【引用】____________ここから
relative
ボックスの位置はまず通常フローにて計算され(この計算で得られた位置を通常位置と呼ぼう)、その通常位置から相対的に配置される。 なお、あるボックスBが相対配置される場合、それに後行するボックスの位置は、Bが相対配置されていないかのように計算される。
absolute
ボックスの位置(と場合によっては大きさ)は'left'、'right'、'top'、'bottom'という4つのプロパティで指定される。 これらのプロパティは、ボックスの位置を包含ブロックからの距離として示すものである。 絶対配置のボックスは通常フローには従わないので、兄弟要素のレイアウトに影響を与えない。 また、絶対配置のボックスにはマージンがあるが、これは他のどのマージンとも相殺しない。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[視覚整形モデル/9.3 配置体系(Positioning schemes)( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )]より
relativeで自身を移動させることは少ないと思いますが、次のabsoluteが位置判断するとき、その親のコンテナブロックがstaic以外のときは、その親コンテナブロックの左上が基準点になります。
【引用】____________ここから
'position'が'static'以外の値を取る時、その要素は位置指定されている(positioned)と言う。 位置指定された要素は、位置指定されたボックスを生成する。 位置指定されたボックスは以下の4つのプロパティに従ってレイアウトされる:
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[視覚整形モデル/9.3.2 ボックスの位置を指定する(Box offsets: 'top', 'right', 'bottom', 'left')( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )]より
>(absoluteでは)画面の上から30ピクセル、左から40ピクセルの位置ですよね?
違います。その祖先にstatic以外のコンテナがあれば、そこが基準になります。
>これを position:relative;にすると、
本来(static)のときに置かれるはずだった場所が基準になります。だから相対です。
いずれにしても、それらの値の意味や関連する他のプロパティとの関係を含めて、9.3 配置体系(Positioning schemes) ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )全体を読まないと理解できないと思います。
★一部の情報だけでは完璧に説明するのは無理です。とにかく仕様書に目を通してください。
No.1
- 回答日時:
こんにちは。
ちょっと勘違い?
>position:absolute;
top:30px;
left:40px;
にすると、画面の上から30ピクセル、左から40ピクセルの位置ですよね?
親要素がstaticの場合のみです。
例えば親要素がrelativeとかってなってたら、親要素の左上が基準。
んで、rlativeは「本来(staticで)表示される場所」から相対的に指定します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS HTML、cssのatomつぅーやつで 課題Ex1ってやつを表示させたいのですが、 私は課題Ex1が 2 2022/12/15 16:56
- JavaScript 画面に表示したらアニメーションを開始したい 3 2023/01/13 15:38
- HTML・CSS htmlとcssで吹き出しの中に文字を置きたいのですが、 html 〈div class bb〉 〈 3 2023/02/04 22:44
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- HTML・CSS CSS上での計算を行うためのルールについて教えてください。 3 2022/08/15 14:43
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
CSSでボックスのheightが0になる
-
widthやheightの数値に単位(px...
-
css初心者 フレックスボックス...
-
CSSで3分割した背景画像を配置...
-
Media Queries 4 で 非推奨とな...
-
HTMLのiframeの入れ子について
-
中点「・」の改行について
-
div内に外部のurlを表示させたい
-
CSS上での計算を行うためのルー...
-
W3Cのソースコードの検証サービ...
-
画像リンクの下に文字を付けた...
-
border-style:solidで文字がずれる
-
テキストボックスの高さを可変...
-
CSSと<dl><dd>で間隔をあけて1...
-
<li>の黒い点を消したい。
-
【CSS】ヘッダーの高さが不明の...
-
CSSでborderの指定を解除する記...
-
CSSだけで、テーブルにスクロー...
-
divで囲まれたpaddingの指定を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
css初心者 フレックスボックス...
-
form input テキストを上下中央...
-
<div>と<div>の間の10px程の...
-
CSSがなぜかfont-sizeだけ効か...
-
divで囲まれたpaddingの指定を...
-
表示倍率を変えるとレイアウト...
-
画像イメージの上下左右、欲し...
-
CSS、width100%でもできる余白
-
cssで中央寄せ
-
CSS:animation開始位置の設定
-
スクロールボックスを中央に配...
-
CSSで背景画像を一番下にもって...
-
【CSS】ヘッダーの高さが不明の...
-
初心者html・CSS ウィンドウを...
-
footer を横幅いっぱいに広げる...
-
CSSで指定した背景画像にリンク...
-
div領域をウインドウサイズに合...
-
W3Cのソースコードの検証サービ...
おすすめ情報