• ベストアンサー

positionのrelativeとabsoluteについて

本やネットで調べても 相対位置のposition:relative;や、 絶対位置のposition:absolute;の 意味や違いが全然分かりません。 どなたかわかりやすく教えてください。 回答よろしくお願いします。

  • HTML
  • 回答数3
  • ありがとう数22

質問者が選んだベストアンサー

  • ベストアンサー
  • namiri_e
  • ベストアンサー率37% (37/98)
回答No.3

日本語にすると relative=相対位置 absolute=絶対位置 です。 数学の座標平面はわかりますか? イメージは  1 2 3 4 5 6 1┌┬┬┬┬┬ 2├┼┼┼┼┼ 3├┼■┼┼┼ 4├┼┼┼●┼ 5├┼┼┼┼┼ たとえばこんな座標で、「●」がどこにあるかというのを表現するとき、座標どおりに(5,4)と表現するのがabsolute(絶対位置)式。 一方、現在■の位置にあって、そこから(+2,+1)のような表現で位置を表すのがrelative(相対位置)です。 ですので、absoluteはその名前が示すように「絶対的な」場所を示すのでいかなるときも表示位置が変わることはありません。 一方のrelativeは、上の場合だと「■」が移動するとそれに伴って「●」の位置も動きますね?(なぜなら(+2,+1)というのは■の位置から右2つ下へ1つということですので) …つまり「相対的な」場所を示しているといえます。 実際、パソコンのディスプレーは左上から(0,0)(0,1)…と座標が振られています。 この座標どおりの値の位置に表示をするのがabsolute(絶対位置)、 ある場所を起点に「右へ2つ、下へ3つ」の位置に表示をするのがrelative(相対位置)です。 わかりましたでしょうか?

3ks1oeew34
質問者

お礼

わかりやすい回答ありがとうございました。 やっと意味がわかりました。

その他の回答 (2)

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.2

例として <table border="1" width="500" height="500"> <tr><td></td></tr> </table> <div style="position:*****;top:0px;left:0px;width:100%;height:10px;background-color:blue;"> </div> *****の部分を absoluteにするとウィンドウの最上段に青のラインが引かれます relativeにすると表の下に青のラインが引かれます このようにabsoluteはウィンドウ全体(フレーム内にページが組み込まれていたらフレーム全体)からみてどの位置にあるか・・・ということで relativeはそのソースが書かれた位置(本来書表示されるべき位置)から見てどの位置にあるかということです またrelative属性を持たせた中にabsolute指定してやることもできます(これは過去に質問があった) <div style="position:relative;top:100px;left:50px;width:800px;height:500px;background-color:pink;"> <div style="position:absolute;bottom:0px;left:0px;width:100%;height:10px;background-color:blue;"> </div></div> これはrelative属性を持たせた800*500のピンクの背景図の一番下に青のラインが引かれます

3ks1oeew34
質問者

お礼

わかりやすい回答ありがとうございました。 やっと意味がわかりました。

noname#39970
noname#39970
回答No.1

relative 本来表示される位置からどれくらいの位置にあるのか absolute 画面(というかブラウザのHTMLが表示されるウィンドウ(フレーム)内)のどの位置にあるのか というような感じの事が手元の本に書いてある

3ks1oeew34
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • 配置方法してするpositionの相対位値。

    positionの相対位置の意味がわかりません。 position:relative; top:30px; left:50px; とした場合。 どこからの距離を言っているのでしょうか? position:absolute; top:30px; left:40px; にすると、画面の上から30ピクセル、左から40ピクセルの位置ですよね? これを position:relative;にすると、どこからどこまでの距離なのかがわからないのです。 よろしくお願いします。 また、HTMLなどによく出てくる「相対」という言葉がいまいちわかりません。 もちろん「絶対」という言葉もわからないのですが・・・。

    • 締切済み
    • CSS
  • relativeとabsolute どちらが良い?

    こんにちわ。 現在ホームページを作成しています。 画像や文章の位置をCSSで調整しているのですが、relativeとabsolute、どちらを使うべきでしょう? お答えくださる場合は、なぜその方がよいのか、理由も答えてくださるとうれしいです。 皆さま、よろしくお願いします。

  • CSSについて 初心者です。positionについて

    勉強中です。 すいません。教えてください。 「親要素を基準に子要素の位置を指定するには、 親要素に position: relative を指定し (absoluteにする理由があるならそちらでも良い)、 子要素に position: absolute を指定すればよいと言うことになる。」 となりますが、この概念がさっぱりわかりません。 確かに、子要素の位置をposition: absoluteで配置しようとした際に、 親要素にposition: relative(しかも、値はなし)で設定しないとうまく行きませんでした。 ネットで調べても全く意味がわかりませんでした。 なぜ子要素の位置をposition: absoluteで配置しようとした際に親要素に、position: relativeをしかも値なしで設定しないと、うまくいかないのか 詳しく教えていただけないでしょうか?m(..)m

    • ベストアンサー
    • HTML
  • postion:relativeについて

    postion relativeのありがたみがよくわからないのです。 absoluteは、指定した座標の位置に、要素の左上頂点がくる?となんとなくわかるのですが relativeのありがたみがわかるページ等ないでしょうか? 調べてみたページ等では、「相対位置等」のキーワードが記述されてましたが、 いいサンプルが見つからず納得できないのです。 多分、「親要素から相対的に動かす?」というぐらいでしかわかってないのです。 どこかにいいサンプル等ないでしょうか? よろしくお願いします。

    • ベストアンサー
    • CSS
  • position : relative + abs

    スタイルシートCSSで、positionを使用する場合 position : relative + absolute を使う事が一般的のようですが、どのようなメリットがあるのでしょうか? よろしくお願いします。 参考サイトhttp://www.css-lecture.com/log/css/037.html

    • ベストアンサー
    • CSS
  • position

    positionはどういうときに使うのでしょうか? また、absoluteとrelativeの違いはわかりますが、どうやって選択すれば良いですか? よろしくお願いいたします。

  • positionについて

    positionについて教えてください box内にbox2をpositionで配置したいのですが子要素のboxに指定するpositionはrelativeとabsoluteどちらがいいですか? また、子要素のboxにrelativeを指定した場合とabsoluteを指定した場合の表示の違いはありますか? #box { position: relative; } #box2 { position: relative; top :50px; left: 100px; width: 100px ; height: 100px ; background-color: #F90; }

    • ベストアンサー
    • CSS
  • プログラム

    http://7ujm.net/asp/javascript8.html  ↑   ↑   ↑   ↑   ↑ このサイトの絶対位置(absolute)と相対位置(relative)の 違いが全く分かりません。 URLのサイトでも説明しているのですが、実際に使ってみると全く分かりません。 誰か教えてください。

  • position:relative とカーサーについて

    初めましてして質問します。 http://ywphotography.net flashのスライドショーと半透明なpng画像をposition:relativeで重ねています。メニューバーの上にもposition:relativeでリンクを置いています。しかし、リンクをマウスオーバーしても通常の様にカーサーがポインタに変わりません。直接cssでcursor:pointerと指定しても変わりません。でもposition:staticに戻すとポインタに変わってくれました。 これを回避する方法はありますか。解決方法が分かる方いらっしゃいましたら宜しくお願いします。

  • positionについて

    画像のpositionをabsoluteで設定したいのですが ページ全体がセンタリングされているため 画像の位置が変わってしまいます。relativeで指定してしまうと画像の重なりが表現できないので使えません。だれかいい方法があれば教えてください。

    • ベストアンサー
    • HTML

専門家に質問してみよう