contentで入れた要素の幅について。
ーー HTML ーー
<div>
<h1>タイトル</h1>
<p>説明文</p>
</div>
ーー CSS ーー
div {width: 90%;}
h1, p {width: 75%;}
上記のような構造で、右側にちょっとしたイラストを入れようと思い、p:after {content: url(hoge.png)}で画像を挿入しました。
そこで質問なのですが、contentの幅を25%と指定して、その中央に画像を配置する、ということは可能でしょうか?
やりたいこととしては、divの中に左側にh1とp要素を配置し、右側にcontentの画像を配置する、ということです。
contentにposition:relativeを入れてleft: 50%;などとすれば、右に寄せられたのですが、ブラウザの幅が変わるたびにずれてしまいます。
contentにwidthを指定しても効いていないようだったので、何か方法があるかと思い質問させていただきました。
ちなみに、画像自体は装飾用に入れているだけのものなので、imgやfigureなどでHTMLに直接記述することは想定していません。
よろしくお願いします。
みんなの回答 2 件
やってみりーや
ブラウザ幅可変時にどうしたいのかイマイチよくわからんけど、contentなんて回りくどいことせずに、普通にbackgroundでやったほうがいいよ。
XX%の部分を数字変えて微調整すれば好きなところに配置出来るし、位置固定したいならpxやem。
div {background: url(hoge.png) XX% 0 no-repeat;}
.
もしくは、どうしてもcontent使いたいんだったら
>contentにposition:relativeを入れてleft: 50%;などとすれば、右に寄せられたのですが、ブラウザの幅が変わるたびにずれてしまいます。
指定してるleft: 50%の単位をpxかemにすればいんじゃない?
ただ、この場合でもどちらにせよ親要素にposition:relative指定して、そこを基準点にしてposition:absoluteで動かしてやったほうが確実だよ。
関連するトピックス