概要
状態:確認中
閲覧数:2,637
投稿日:2013-11-07
更新日:2013-11-09
・img srcタグで、画像の上に文字を表示できることを、今日、初めて知った
考え方
・positionプロパティを使って、本来の表示位置からずらす
・スタイルシートの「position」プロパティを使うと、その要素を本来の表示位置から切り離し、自由な位置に表示させることが可能
・「文字を含む要素」の表示位置を、「画像が含まれている要素」の方へずらせば、画像の上から文字を重ねて表示できる
1.外側div
・positionプロパティ … relative
・移動距離 … 指定しない。本来表示されるべき位置へ表示
※内側のdiv要素(画像上の文字)に対する基準ボックス
2.内側div … 文字列
・positionプロパティ … absolute
・移動距離 … 指定。画像の上に文字列表示
absolute 絶対配置の基準
・「positionプロパティにstatic以外の値が指定されている祖先要素」からの表示位置
・「親divの親div」など、複数の祖先要素が条件に該当する場合には、最も近い祖先要素が基準になる
・もし、どの要素も条件に該当しない場合は、描画領域(ウインドウ)の端が基準になる
・このケースでは「position: relative;」を指定している「外側のdiv要素」が該当
・absoluteした時の基準位置は、親要素のpositionプロパティが「static」か「それ以外」で、大きく異なる
考え方
・positionプロパティを使って、本来の表示位置からずらす
・スタイルシートの「position」プロパティを使うと、その要素を本来の表示位置から切り離し、自由な位置に表示させることが可能
・「文字を含む要素」の表示位置を、「画像が含まれている要素」の方へずらせば、画像の上から文字を重ねて表示できる
具体例
1.外側div
・positionプロパティ … relative
・移動距離 … 指定しない。本来表示されるべき位置へ表示
※内側のdiv要素(画像上の文字)に対する基準ボックス
2.内側div … 文字列
・positionプロパティ … absolute
・移動距離 … 指定。画像の上に文字列表示
absolute 絶対配置の基準
・「positionプロパティにstatic以外の値が指定されている祖先要素」からの表示位置
・「親divの親div」など、複数の祖先要素が条件に該当する場合には、最も近い祖先要素が基準になる
・もし、どの要素も条件に該当しない場合は、描画領域(ウインドウ)の端が基準になる
・このケースでは「position: relative;」を指定している「外側のdiv要素」が該当
・absoluteした時の基準位置は、親要素のpositionプロパティが「static」か「それ以外」で、大きく異なる
背景画像ではなぜ駄目なの?
例
・「画像の上に文字を表示させる」場合、通常、backgroundで背景画像として設定した上で、文字を配置する
・しかし、「画像の上の文字色を、画像の明るさに応じて自動変更させたい」場合、この方法だと実装が難しい
BackgroundCheck
・背景画像に応じて、テキスト色を自動変更したい場合、BackgroundCheckを使えば、手軽に実装可能
・しかし、そのためには、img srcを使うしかない