IT仕事

CSSで、はまった(画像の重なり・relative/absolute)

投稿日:2014年4月21日 更新日:

トラブル:トップページに配置した「ネットでの購入はこちら」ボタンが、ウィンドウの大きさに合わせて移動してしまう。

横長が狭い画面だと右の位置にあるが、広い画面だと真ん中に来る。CSSを見ると、positionはabsoluteになっていた。

しかしpositionをrelativeにすると、もともとの位置に空白が空く(heightで指定した数値分)。

topやleftでボタンの位置はどこにでも動かせるが、この空白を消す方法が無い。

位置の起点がコンテナではなく、画面の左端になっているようだったので、それを手がかりに対処方法を探った。(3時間かかった)

対処:ボタンのpositionをabsoluteにするだけではダメで、親要素である#containerにposition: relative;を設定すると、OKだった。
重なりの、下に来るものがrelativeで上に来るものがabsoluteにするとよいみたい。

(以下、参考リンクと引用)

ITポテチ : position:absoluteで親要素を基点にする

いままでposition:absoluteとすると、常にブラウザウィンドウの一番左上を基点とするものと思い込んでいたのですが、どうやらそうでもないみたいです。

ボックスの配置と基準:スタイルシート(CSS)辞典 – HTMLタグボード

「position:absolute;」とすると、ボックスは2つの条件により動作します。1つめの条件は「position」プロパティを指定した要素を含む親要素にも「position」プロパティが指定され、かつその値に「relative/absolute/fixed」のいずれかの値が指定されていた場合です。このときは、その親要素の左上が基準となります。

-IT仕事

執筆者:

関連記事

no image

パンフ

今日、ちょっとした託物があってお客様のところを訪ねた。 またついでに、このたび新しく制作した会社案内もついでに見てもらおうと持参した。 対応した女性に肝心のをお渡しした後、「会社案内をこのたび新しくし …

no image

phpESPつまづいたところ

AKI ON WEB: Webアンケートシステム「phpESP」を試してみた を参考に、このソフトのインストールに挑戦。 しかし、DB作成で、まず転ぶ。 mysql_populate.sqlが通らない …

no image

WordPressでOpenIDにチャレンジ、半分成功

例えば、YahooIDを持っている人なら誰でも、投稿者としてコメントできるようにするといいなあ、それができたら、ああいう使い道やこういう使い道があるなあ・・・ということで、やってみた。 ・まず普通の要 …

no image

セキュアド合格!!

昨日、秋に受験した情報セキュリティアドミニストレータの合格証書が届いた。 ウレシー!! だって落ちに落ちて、3度目の正直だもん。 年に1度しかない試験だもん。 今度落ちたらもう受験するのやめようかと思 …

no image

Quick TranslatorがFireFox12で使えるようになった

FireFoxをバージョンアップした際に、互換性の問題から使えなくなった、Quick Translator。 私はこれを長年使い、「これ以上に使いやすいアドオンはない」と思っているので、昨年、FFの最 …