HTML要素を別の要素を基点にしてCSSで絶対配置する方法
HTML要素を別の要素を基点にして、CSSで絶対配置する方法を紹介します。
1.はじめに
次のようなHTMLマークアップで、画像の上に「coffee」と文字を表示させたいと思います。
HTMLマークアップ
<div>
<img src="coffee.png" />
<div>coffee</div>
</div>
完成イメージ
また、ブラウザの幅や高さを変更してもテキスト位置が画像からずれないようにしたいです。
この場合、子のdiv要素の内容をimg要素に重なるように配置する必要がありますが、その方法が分かりません。
2.ある要素を別の要素を基点にして絶対配置する
ある要素を別の要素を基点にして絶対配置するには、基点となる親要素にposition:relativeを設定し、子要素(ターゲットの要素)にposition:absoluteを指定して親要素からの絶対位置を指定します。
さきほどのHTMLに、CSSを指定しやすいようid属性を追加します。
<div id="parent">
<img src="coffee.png" />
<div id="child">coffee</div>
</div>
CSSでそれぞれのid属性にpositionプロパティを設定します。さらに子要素にはtopプロパティ、leftプロパティなどで絶対位置を指定します。
#parent {
position: relative;
width: 250px;
height: 166px;
margin: 0 auto;
}
#child {
position: absolute;
top: 100px;
left: 160px;
color: #fff;
}
絶対位置の開始位置は親要素の左上になります。
参考:子要素にtop:0,left:0を指定した場合のテキスト表示位置
これでターゲットの要素は親要素を基準にした位置に配置することができます。
Posted by yujiro このページの先頭に戻る
- YouTube動画にキャプションをつけてテキストを回り込ませる方法
- 画像を下揃えにしてテキストを回り込ませる方法
- style要素にCSSの擬似要素は記述可能か?
- position:relativeを設定すると他の要素がずれる場合の対処
- CSSでタブ切り替えする方法
- :target擬似クラスのまとめ
- CSSでヘッダを固定したスクロールテーブルを作る方法
- レスポンシブウェブデザインで画像を縮小する方法
- disabledなボタンのhoverのスタイルを無効にする方法
- :not擬似クラスでCSS3のサポートをチェックする方法
- :checked擬似クラスでチェックボックスに連動して要素を表示させる方法
- ol要素の入れ子で親の番号を子に割り当てる方法
- チェックボックスやラジオボタンを大きくする方法
- CSSで中央に配置する方法
- CSSで背景画像をページの中心に表示する方法
トラックバックURL
コメントする
greeting