CSSでdivの中の背景を多重化したいと思いまして、
なんとかお知恵を拝借できればと思い投稿させていただきました。
やりたいことは、添付の画像のように、テキストの量によって背景の●がちゃんと下に動いて欲しいのです。
こんな感じでできるかなと思って試行錯誤していましたが、ぜんぜんできませんでした。
【html】
<div class="parent">
<div class="bg_upper">
<div class="bg_lower">
<div class="content">
テキスト・・・
</div>
</div>
</div>
</div>
【CSS】
div.parent {
position:relative;
}
div.bg_upper {
position:absolute; top:0; left:0; background:url(../images/bg_tl.png) left top no-repeat;
}
div.bg_lower {
position:absolute; bottom:0; right:0; background:url(../images/bg_br.png) right bottom no-repeat;
}
<div class="content">に対して、height:100pxのように明示的に高さを指定してやるとそれらしくは
なったのですが、高さは可変なので使えませんでした。
なんとかヒントいただけましたら助かります。
よろしくお願いします。
No.3
- 回答日時:
補足、divの下にまたdivを入れる可能性があれば
div.column div div{background:none;}
を追加しておく(場所はどこでもよい)。
カスケーディングを理解するには、詳細度を考えること。
<style type="text/css">
<!--
div.column div div{background:none;}
div.column{ width:600px;border:solid 1px gray;}
div.column{ background:url(./img/top-left.gif) 0% 0% no-repeat;}
div.column div{ background:url(./img/bottom-right.gif) 100% 100% no-repeat;}
/* 率直にこれだけでよい */
-->
</style>
No.2ベストアンサー
- 回答日時:
HTMLのマークアップは、あくまで文書構造に従うほうが良いです。
デザインを想定して付けていたらややこしくなるし、先でデザインを変えるとき整合性がとれなくなる。HTML,CSSの趣旨に反するし。たとえばコラム枠の背景に右上と左下に別の画像を置きたい場合・・
たとえば
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>Untitled</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css">
<!--
div.column{ width:600px;border:solid 1px gray;}
div.column{ background:url(./img/top-left.gif) 0% 0% no-repeat;}
div.column div{ background:url(./img/bottom-right.gif) 100% 100% no-repeat;}
/* 率直にこれだけでよい */
-->
</style>
</head>
<body>
<h1>サンプル</h1>
<div class="column">
<div>
<p>あいうえお</p>
<p>CSSでdivの中の背景を多重化したいと思いまして、</p>
<p>なんとかお知恵を拝借できればと思い投稿させていただきました。</p>
<p>やりたいことは、添付の画像のように、テキストの量によって背景の●がちゃんと下に動いて欲しいのです。</p>
<p>こんな感じでできるかなと思って試行錯誤していましたが、ぜんぜんできませんでした。</p>
</div>
</div>
</body>
</html>
ばっちりできました!
ありがとうございます。
スマートな方法で、とても参考になりました。
おかげさまで心のもやもやがすっきりです!
まだまだ未熟ですが、一歩前進できました。
本当にありがとうございます!
No.1
- 回答日時:
うまくいってないのは親ボックスの位置指定だと思います。
div.parent {
border:1px solid; //見やすくするために入れましたがそれだけ。
position:relative;
width:300px; ←出来れば追加
top:0px; ←追加
left:0px; ←追加
}
また、私は div を極力重ねないようにし、
(上のボックスのclassで指定したスタイルが悪さをする。また、みにくく、わかりにくくなってしまう)
backgroud:url(・・・)をつかいませんでした。
(空のdivになる為、背景画像が表示されない。表示するにはdiv自体にサイズをつくらなきゃいけないくなる。ページ自体の負荷等考えだすと使うかもしれませんが、、)
background でやる場合は、調べてみてください。
【css】
div.parent { border:1px solid; width:300px; position:relative; top:0px; left:0px;}
div.bg_upper { position:absolute; top:0px; left:0px;}
div.bg_lower { position:absolute; bottom:0px; right:0px;}
【html】
<body>
<div class="parent">
<div class="bg_upper"><img src="../images/bg_tl.png" /></div>
<div class="bg_lower"><img src="../images/bg_br.png" /></div>
<div class="contents">
・・・ text ・・・<br /> ・・・
</div><!--end contents-->
</div><!--end parent-->
</body>
早々にお教えいただきましてありがとうございます。
確かにおっしゃる通りの方がわかりやすいですね。
大変勉強になりました。
ただ、やってみたのですが、ちょっとうまくいかず、
テキストが出なかったり下側の画像がつぶれたりと悪戦苦闘しております。
レベルがまだまだ低いので色々試して勉強させていただきたいと思います。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
textareaで入力した文字を改行...
-
CSS <div>の入れ子が反映さ...
-
フッターの下に隙間ができてしまう
-
チェックボックスの背景色って...
-
フッター上部に謎の隙間
-
追加記入もできるプルダウンメ...
-
【CSS】floatで左右に並べた...
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
createElementで作成した要素を...
-
背景色を透明化
-
JavaScriptにて『var val2 = "d...
-
【jQuery】2分割レイアウトで、...
-
jQueryで電卓を作っているのですが
-
JavaScriptでの画像切り替えを...
-
javascriptを使って画像を切り...
-
jQueryスライドショー画像への...
-
画像のランダム表示が遅い?
-
【jQuery】hoverしたn秒後にイ...
-
JQueryタブのアクティブ アン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スライダーの枠に動画を収める...
-
フッター上部に謎の隙間
-
【CSS】floatで左右に並べた...
-
オンマウス時に別画像を上に重...
-
CSS <div>の入れ子が反映さ...
-
文字を固定したいのですが…
-
Ctrl+F(検索)の窓を出したいの...
-
テーブルの1つのセル内で、上揃...
-
CSS のみのタブ切り替えについて
-
フッターの下に隙間ができてしまう
-
スクロール可能なチェックボックス
-
Flickity で画像にリンクを貼る...
-
スマートフォンで適切に見られ...
-
floatさせたdivタグを折り返さ...
-
オープニングにアニメーション...
-
html/cssで要素が出てこなくて...
-
チェックボックスの背景色って...
-
サイトにコンテンツを並べる際...
-
CSS 可変マージン
-
HTML CSS 文字化け
おすすめ情報