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

ExcelVBAで名前から行列指定で取り出すには

名前を定義したセル範囲の、列や行での相対位置でみた、何番セルの値を取り出したい場合に、どのように書ければよいかわからなかったけども、やっとわかった。 Range(“範囲1”). …

no image

イーモバイル製のHTC AriaはIIJ-Mioで使えなかった

オークションで購入したHTC Ariaだが、IIJ-Mioのキャリアでは使えないみたい。 APNを登録したり、色々試してみたのだが、3Gを介したネットにはつながらなかった。 エラーは出ないのにね。 A …

no image

Win7初体験・初トラブル

会社の人が初めてWin7入りPCを買ったので例によってトラブルに遭遇した。 ファイルサーバにアクセスしようとすると、「ネットワークパスワードを入力して下さい」のダイアログが出る。それでつながらない。 …

no image

Gifzoってのを使ってみたのですが、スゴイ便利

スクリーンキャストを撮るのに、Gifzoってのを使ってみたのですが、スゴイ便利。 Gifzo – 宇宙一簡単なスクリーンキャスト共有 例えば、こんな感じに撮れる。 ちょっとした意思の疎通が …

Amazonへ出品している商品の、商品名だけを一括で変更したいときの手順

1.以下のページを参考に、出品レポートをダウンロード。商品名を一括で変更・編集する方法 – Amazon出品サービス / 出品に関する一般的な質問 – Amazonセラーフォー …