![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
IE6を使用しています。
次のような
「sample.css」
.sample {height:90px; background-color:#00ff00; font-weight:bold; position:relative; top 40px; }
.sample2 {color:#ff0000; position:absolute; top:10px; left:10px }
.sample3 {color:#ff0000; position:absolute; top:30px; left:30px }
「a.html」
<html>
<head>
<link rel="stylesheet" href="sample.css" type="text/css">
</head>
<body>
<div class="sample">
position:relative
<div class="sample2">
sample2
</div>
<div class="sample3">
sample3
</div>
</div>
</body>
</html>
を実行した場合に、ブラウザのトップから40pxだけ下にclass="sample"にある内容を
表示させたいのですが、どうも下にずれてないようなのです・・・
何が原因なのでしょうか?
No.3ベストアンサー
- 回答日時:
position:relative;はもとの位置から指定した値だけ動かすためのものです。
http://www.stylish-style.com/csstec/base/positio …
.upsampleを50px動かしたとしても.downsampleは動かないので、両方のスペース分とってposition:relative; top:100px;とすれば解決できます。
できますが、もしもposition:relative;でやる必要がない場合は
.sample2 {
color:#ff0000;
position:absolute; top:10px; left:10px; }
.sample3 {
color:#ff0000;
position:absolute; top:30px; left:30px; }
.upsample {
height:50px;
background-color:#00ff00;
font-weight:bold;
position:relative;
margin-top:50px; }
.downsample {
height:50px;
background-color:#00ff00;
font-weight:bold;
position:relative;
margin-top:50px; }
というようにmarginを使うほうがわかりやすいかもしれないです。
No.4
- 回答日時:
このソースは全体像の一部抜粋なのかもしれないので判断つきかねますが、素朴な疑問です。
もし単純に入れ子構造の親のコンテナブロック(.upsample、.downsample)の上部余白を50px、子のブロックをそれぞれ親の上と左の基点から10px(.sample2)/30px(.sample3)の位置にレイアウトしたいだけなら、親側の位置はtopではなく単にmargin-topプロパティで指定すれば済むのでは?
top/left/bottom/rightプロパティは"position:absolute;"と組み合わせて使う分いはわかりやすいですが、relativeの時はあまり出番がない様に思います(勿論レイアウトによりケースバイケースですが)。今回の様な場合の位置決めであればmarginの方が(あれこれ計算しないで済む分)楽なので。
ご返答ありがとうございます。
実は、プログラム(PHP)を利用してこのCSSをブロックごとに
切り抜いて他のブロックと組み合わせる(入れ子)ような処理を行いたいと思ってるのですが、
まだいろいろ試してみると理想通りにならないですね・・・
ただとりあえず今回の質問にはしっかりお答え頂いたので
ありがとうございました。
No.1
- 回答日時:
top:40px; と書かなければならないのが top 40px;となっています。
あと、.sample2と.sample3のleftの表記も間違ってますよ。
これを直すとちゃんと表示されると思います。
ご返答ありがとうございます。
言われてみればたしかに間違ってました・・・
仰る通り直したらできました。ありがとうございます。
ところでついでで申し訳ないのですが、
これをさらに拡張して、
「sample.css」
.sample2 {color:#ff0000; position:absolute; top:10px; left:10px; }
.sample3 {color:#ff0000; position:absolute; top:30px; left:30px; }
.upsample {height:50px; background-color:#00ff00; font-weight:bold; position:relative; top: 50px; }
.downsample {height:50px; background-color:#00ff00; font-weight:bold; position:relative; top: 50px; }
「a.html」
<html>
<head>
<link rel="stylesheet" href="sample.css" type="text/css">
</head>
<body>
<div class="upsample">
position:relative
<div class="sample2">
upsample2
</div>
<div class="sample3">
upsample3
</div>
</div>
<div class="downsample">
position:relative
<div class="sample2">
downsample2
</div>
<div class="sample3">
downsample3
</div>
</div>
</body>
</html>
と、upsampleとdownsampleを上下に並べた場合に
希望する結果としてupsampleとdownsampleの間に50pxの空間を空けたいと
思ってたのですが、upsampleの上の空間はちゃんと50px空いていますが、
upsampleとdownsampleの間は空いていないのです・・・
どうやらupsampleのposition:relative; top: 50px;を認識してない気がするのですが、
どうしたら認識させることができるのでしょうか?
もしよろしかったらこれもお答えして頂けないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS HTML、cssのatomつぅーやつで 課題Ex1ってやつを表示させたいのですが、 私は課題Ex1が 2 2022/12/15 16:56
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- JavaScript 画像の表示位置 3 2022/12/23 08:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
表示倍率を変えるとレイアウト...
-
hpビルダー 複数の表の罫線を...
-
table周辺の隙間をなくしたい。
-
プルダウンで長い名前の選択肢...
-
画面の分割
-
div内に外部のurlを表示させたい
-
li 黒丸含んで移動する方法
-
css初心者 フレックスボックス...
-
背景が下まで表示されないんです。
-
CSS:animation開始位置の設定
-
cssが効かなくて困ってます
-
floatを使わずに、cssレイアウ...
-
HTMLで横幅をCSSで設定できませ...
-
左100px 中100% 右100px
-
画像イメージの上下左右、欲し...
-
form input テキストを上下中央...
-
メイン画像とグローバルメニュ...
-
HTMLでCSSでボーダーが表示され...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
CSSでボックスのheightが0になる
-
CSS:animation開始位置の設定
-
CSS、width100%でもできる余白
-
スクロールボックスを中央に配...
-
form input テキストを上下中央...
-
W3Cのソースコードの検証サービ...
-
表示倍率を変えるとレイアウト...
-
CSSで背景画像を一番下にもって...
-
<div>と<div>の間の10px程の...
-
CSSがなぜかfont-sizeだけ効か...
-
footer を横幅いっぱいに広げる...
-
【CSS】ヘッダーの高さが不明の...
-
table周辺の隙間をなくしたい。
-
CSS3で角丸写真にシャドーを付...
-
定義リストに下線をつけたいと...
-
Media Queries 4 で 非推奨とな...
おすすめ情報