
すいません。CSSで困っておりまして、教えて頂けないでしょうか・・
<h2>おすすめ商品</h2>
という表記で例えば↓のサイトのおすすめ商品のような
タイトルを作ろうとしています。
http://uegon.net/
文字部分は画像ではなくテキストです。
それに背景の帯が入った状態にしたいのです。
それで、このタイトルが長い場合があって、2行で表示される
こともあります。その場合、背景の画像も自動で2行分に
高さが広がるようにしたいのですが、
<h2>のCSSだけで行うことは可能でしょうか。
出来ないとしたらどのようにしたらいいでしょうか?
よろしくお願いしますm(_ _)m
No.3ベストアンサー
- 回答日時:
私自身は修飾用に要素を加えるのはかっこ悪いと思っているので^^;なんとかしてみたいと思ってしまいます。
例えば、
<h2>おすすめ商品</h2>
<p>おすすめ内容</p>
のように h2(見出し)の後に必ずp(内容)が続くとします。この場合、
・下のグラデーション画像の高さの分だけp要素を上にずらし、
・上にずらした分だけpaddingでpの内容を下に戻し、
・p要素の背景として下のグラデーション画像を適用する
という方法がとれると思います。具体的には下のような感じでしょうか。
(グラデーション画像の高さを10pxと仮定しています。)
---
h2 {
position: relative;
margin-bottom: 0;
border: 1px solid #000;
background: url('background_bottom.png') repeat-x;
z-index: 2;
}
h2 + p {
position: relative;
top: -11px;
margin-top: 0;
padding-top: 21px;
background: url('background_bottom.png') repeat-x transparent;
z-index: 1;
}
---
(IEが隣接セレクタに対応してないので、その場合はh2に続くp要素にクラス指定をすることになります。)
他の部分に影響が出てしまう可能性もありますが、とりあえずは見出し部分に上下のグラデーションがつけられるかと思います。
なるほど。。これはすごい技ですね。。
勉強になります!
+というのは使ったことがなかったので
こういう風に使うのかと・・・
これでやりたいことができそうです。
ありがとうございます!
No.2
- 回答日時:
上からのグラデーションに、1pxの枠も組み合わせるのであれば、
h2 {
background: url('***') repeat-x left top;
border: 1px solid #xxxxxx;
}
(グラデーションが下からなら 'top' を 'bottom' に変更します)
でいけるのでは?
しかし、例えば、グラデーションが上下両方からだったりすると上記の例ではうまくいかないわけです。具体例に依存すると最初に申し上げたのはこういう事情のためです。
修飾用の技巧というのは、例えば、背景画像を貼り付けるためだけにdivを増やしたり、tableを使ったり、というのがあるかと思います。それをすることの是非はさておき、どのような方法をとるかは、どのようなことをしたいのかという具体例によって決まるかと思います。
何度もすいません。
勉強になります。
実はグラデーションは上下からを想定しております。
ですので、真ん中の部分だけがうまく高さがのびて
くれるとありがたいのですが・・
そうなるとtableなどを使用する他無いわけですね?
分かってきました。ありがとうございます!
No.1
- 回答日時:
背景画像がどのようなものかにもよって、解決方法が異なる可能性があるかと思います。
例えば、例として出された「おすすめ商品」のように、上にオレンジの線を入れたい(これがグラデーション画像になったりするかもしれません)ということであれば、h2 { background-repeat: repeat-x; } とすればよいでしょう。
さらに、ハートマークのようなアイコンを最初だけに入れたいということであれば、アイコンを含めた帯画像を十分横長に作っておき、 h2 { background-repeat: no-repeat; } とすればよいのではないでしょうか。
もっとずっと複雑なことをしたいとなると、<h2>だけでは足りなくて、修飾用の技巧をこらすということになるかもしれませんね。
早速ご回答いただきまして
ありがとうございます!
実際作りたいのはグラデーションが入ったものです。
そしてタイトル帯は1pxの枠で囲まれたようなものです。
修飾用の技巧というのが気になりますが、
どのようなものでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 8 動画の再生とタイトルの変更方法を教えてください。 3 2022/08/01 14:51
- 音楽・動画 メドレー動画制作について 1 2023/03/06 12:00
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- JavaScript HTML&CSS Javascriptによる動的テーブル 1 2023/03/27 19:51
- Windows 10 zoomで自分の顔の背景 3 2023/06/07 22:34
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
- ZOZOTOWN 楽天に出店しているサプリメント会社が怪しいです 4 2022/06/03 00:10
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【至急お助け!】チェックボッ...
-
タイトルを残したままバックの画...
-
フレームの背景
-
フレーム使用で黒背景にしたい...
-
【Webサイト】画像が小さく表示...
-
右寄せ時の背景画像
-
画像を左下と右下に固定したい...
-
背景に透過画像を重ねて、背景...
-
背景画像をブラウザ上部に隙間...
-
リンク画像の背景を反転させな...
-
リストボックス内で画像の表示
-
帯を画面いっぱいに表示したい
-
フォトショップで背景を切り抜...
-
CSSで背景画像をランダムに表示...
-
クリックで背景を変化させる
-
html
-
HPサイト内で吹き出しをつくる。
-
jQueryでCSSの背景画像を切り替...
-
Webの背景について
-
フォームやテキストエリアの背...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<hr>の縦バージョンはありますか?
-
【至急お助け!】チェックボッ...
-
【Webサイト】画像が小さく表示...
-
画像とその下にあるテキストの...
-
background-repeat CSS で切れ...
-
IMGタグで画像の繰り返し使用は…
-
画像の上にテキスト配置で、拡...
-
background-sizeの背景で最小値...
-
lightbox2で画像を天地左右中央...
-
iframe内をクリックさせない方...
-
background-sizeでcontainする...
-
要素の幅をいろんな写真の幅に...
-
WEB上でディレクトリ内の画像を...
-
同じ画像 複数回使用
-
画像で背景透明のテキストがに...
-
gif画像でたまに背景がグレーに...
-
ページの上下に白い横線が入る
-
ページごとに背景画像を変更し...
-
コーディング中、右側に謎の余...
-
ブラウザによって、画面表示の...
おすすめ情報