- 締切済み
絶対位置と相対位置
娘の親に対する位置を決めたいと思い、娘のほうに相対位置を記述しましたが、思ったとおりになりませんでした。 そこで自分でも調べてみると、どこかに「親のほうを絶対位置にしなさい(座標は不要)」と書いてありました。 理由がわかりません。 相対位置は何かに相対=比較しての位置なので、ひとつ上の親だと納得できるのですが、なぜ親を絶対位置にするのですか。しかも座標は不要って・・・ 絶対位置は「絶対」の内容からして宇宙や地球ではなくとも UA の表示部分の左上かなと思っているのですが、なぜ座標が不要ということより、娘を親に相対させるためにそもそもなぜ親に絶対位置を設定しないといけないのかわかりません。親に対する相対なら、親がどこにいてもよいはずです。 お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Werner
- ベストアンサー率53% (395/735)
>> positionプロパティがstatic(デフォルト値: 通常の配置)のときの位置になります >なぜですか。 >相対なら親が何であってもかまわないと思いますが。 >親がどんな状態であっても、その状態に対する相対位置にいればよいと思うのですが。 なにを疑問に思っているのですか??? #1に書いたとおり、position:relativeの時は親要素は基本的に関係ないです。 なぜそこで親要素の話が出てくるのでしょうか。 positionに何も指定しなかったとき(position:static)の位置が基準と言うことは、 このときのleftなどの指定は本来配置されるべき場所からのずれと言うことになります。 例えば何も指定しなかったときより左に10px移動させたい、というようなときに使います。
- Werner
- ベストアンサー率53% (395/735)
質問内で使われている言葉の意味がかなり不明なのですが、 絶対位置、相対位置というのは CSS(スタイルシート)のpositionプロパティの absoluteやrelativeのことでしょうか。 娘や親はHTMLでの要素の親や子のことかな。 とりあえずそうだと仮定して話を進めますが、 違うなら補足してください。 まず、CSSのpositionプロパティでrelativeを指定したときの基準位置は、 positionプロパティがstatic(デフォルト値: 通常の配置)のときの位置になります。 親要素ではありません。 また、absoluteを指定したときの基準位置は、 relative や absolute が指定された親要素(無ければページ自体)です。 以上のことから、親要素を基準に子要素の位置を指定するには、 親要素に position: relative を指定し(absoluteにする理由があるならそちらでも良い)、 子要素に position: absolute を指定すればよいと言うことになります。 なお、質問の中の「親のほうを絶対位置にしなさい(座標は不要)」の理由はちょっと分かりません。 どこに書いてあったのか知りたいですね。
お礼
そもそも「位置」の種類に「相対」「絶対」「静的」「固定」などあるようですが、説明を読んでもいまいちです。言葉の意味を表していないのが最初の問題点だと思いますが、二点目は上の補足です。
補足
> positionプロパティがstatic(デフォルト値: 通常の配置)のときの位置になります なぜですか。 相対なら親が何であってもかまわないと思いますが。 親がどんな状態であっても、その状態に対する相対位置にいればよいと思うのですが。
お礼
他の質問をしたいので、締め切りたいと思います。 回答したかった人、ごめんなさい。
補足
親に何も指定しなかったとき=既定は static なわけですよね。でも、逆に親に何を指定しても娘に相対を指定したら、(親の位置は違っても)親に相対する娘の位置は変わらないはずではないのですか。それが「相対」の意味だと思うのです。