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

Visual Studio 2005 Express Edition無償公開

窓の杜 – 【NEWS】「Visual Studio 2005 Express Edition」日本語正式版の一般向け無償公開開始 http://www.forest.impress.co …

no image

HTML整形関係の秀丸マクロ

久々の投稿。 自分のHTMLファイルの作成スタイルは、 1.Artisteerでおおざっぱなデザインを決める。 2.同ソフトでHTMLソース(またはWPテンプレート)を出力する。 3.ソースを秀丸&F …

Power Automate Desktopで .NETスクリプトを実行して正規表現で文字を抜き出す

やりたかったことは、 文字列を与えて、その文字列から正規表現でハイフンに挟まれた文字列を取り出すこと。 ChatGPTに質問したら、それらしいスクリプトは作ってくれたけど、いざ動かすとエラーになり、正 …

no image

GALAXY S III α SC-03E でUSBテザリング(EasyTether)

かつて色んなアプリ(FoxFiなど)でチャレンジしたのだが、Wifiテザリングが成功しない。 Google先生でも調べてみたが、docomo端末でMVNO(私のはBiglobeのSIM)を使っている場 …

no image

pptでWeb画像を作図する

pptでマトリックス図などを作図して画像データ化してWebに貼り付けってことをよくやる。 そのときの、こつ、を備忘録。 ・pptから画像ファイル形式で保存するときはJPEGではなくPNGで保存すべき。 …