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

小矢部のお客さんからナスとキュウリをもらった。

嬉しい。 最近、なにかと地元の野菜をもらうことがなぜか多い。 なによりすごく嬉しい。 新鮮だし安全だしおいしいから。 関連投稿: 迷惑メール PhotoshopElementsでWebデザイナーが作っ …

no image

会員大会に出席

所属しているとあるNPO法人の会員大会に出席してきた、この土日。 場所は津沢のコミュニティセンター。 なかなか土地感の無いところだが、そういう既視感がないところが、逆に現実を忘れさせてくれて、よかった …

no image

spam対策

Yahooの外部メールがWebメールの画面で受信できなくなった。 Yahooアカウントのメールはできるのに。 Yahooに問い合わせたとこと、「外部メールのプロバイダに障害が起こっている可能性があるか …

PhotoshopElementsで写真の角を丸くする

方法を見つけるのに2時間ほどかかってしまったので備忘録・・・。 1.写真をCtrl+Aで全選択。 2.選択範囲-選択範囲を変更-境界線-10px。境界線が選択される 3.選択範囲-選択範囲を変更-滑ら …

PADでファイルがUTF8保存されない

ざっと探したところWebに自分が遭遇したトラブルの報告が見つけられなかったので、誰かの参考になるかもとメモ。 読み込み時はShiftJISのテキストを、図のようにフローで、エンコードを確かにUTF8保 …