hタグの右横に画像を表示

このQ&Aのポイント
  • hタグの右横に「new」の画像を表示する方法について教えてください。
  • css の background image を使ってもタイトルの文字数によって調整が必要で面倒です。
  • hタグに画像を直接配置する方法は可能でしょうか?
回答を見る
  • ベストアンサー

hタグの右横に画像を表示

hタグ(今回は<h3>タグ)の右横に、「new」の画像を表示したいと思っています。 <h3>タグは1ページの中に複数出てきて、それぞれ文字数も異なります。 全てに「new」がつく訳ではなく、任意のものだけに表示です。 css の background image で試してみたのですが 当然のことながら、left か right かの指定なので、どちらかに極端に寄ってしまいます。 right 指定で%で指定していけば、なんとなくバランスよくはできますが あくまでなんとなくであって、 更にタイトルの文字数によって変わってきてしまうので 個別にcssを指定していかなければなりません。 (そういうものなのでしょうか。) ※例えば「new」画像が左置きなら、 background image を使って、hタグの css に padding-left:100px; などとすれば済みますよね(画像の分だけpaddingで空きを作る)。 でも右側に画像を置くとなると、こんなにも面倒なものなのでしょうか。 hタグのタイトルから右横に(例えば)20px空きをつくり画像を配置、 ということが簡単には出来ないものでしょうか。 それとも <h3>テキストテキストテキスト<img src="********"></h3> なんてことをしてもいいものでしょうか。 宜しくお願いします。

  • CSS
  • 回答数8
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.7

「newアイコン」に限定するのであれば、 このように書けば、文書構造、文法ともに適した書き方になると思います。 <style> .new { overflow: auto; } .new h3 { float: left; } .new img { width: 30px; height: 20px; } </style> <div class="new"> <h3>テキストテキスト</h3> <p><img src="" alt="この記事は何年何月以降に書かれた新着記事です。"></p> </div> alt属性を嫌うのであれば、イメージリプレースを使う事もできます。 <style> .new { overflow: auto; } .new h3 { float: left; } .new p { width: 30px; padding: 20px 0 0 0; height: 0; background: url(new.gif); overflow: hidden; } </style> <div class="new"> <h3>テキストテキスト</h3> <p>この記事は何月何日以降に作られた新着記事です。</p> </div> ご参考まで。

marimond
質問者

お礼

今回は他の皆様もご回答くださった <h3>テキストテキスト<span style="background:略"></span></h3> で行くことにしましたが、 ------------------------- <style> .new { overflow: auto; } .new h3 { float: left; } .new img { width: 30px; height: 20px; } </style> ------------------------- や、 ------------------------- <h3>テキストテキスト<!--[if lte ie 7]><img><![endif]--></h3> ------------------------- など、 目から鱗の方法をご回答くださったtalooさんにベストを決めさせて頂きました。

その他の回答 (7)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.8

No.3です。 ≫IE7以下に対応させる方法はあるものでしょうか。 過去のブラウザに対応させるなら簡単に、 <h3>STAP細胞のその後<img src="./images/icon/new.gif" width="40" height="20px" alt="(新着)"></h3> で全く問題ないです。テキストブラウザ、検索エンジンには STAP細胞のその後(新着) と読まれるでしょう。 スタイルシートを利用する時に有効なのは <div class="contentTable">  <h2>記事一覧</h3>  <ol>   <li><a href=""></a></li>   <li><a href=""></a></li>   <li><a href=""></a></li>   <li><a href=""></a></li>  </ol> </div>  のような場合に、 モダンブラウザに対して div.contentTable ol li:after{content:url();} div.contentTable ol li+li+li+li:after{content:none;} のように、最初の3つだけ新着マークをつけるときです。 ★ セレクタをいきなり .contentTable と書くスタイルシートを時々見かけますが、CSS2以降は基点となるセレクタを書くルールになりました。 「単体セレクタは型セレクタもしくは 全称セレクタのいずれかの直後に、0個以上の属性セレクタ、IDセレクタ、擬似クラスが任意の順序で続くものである。セレクタの構成要素のすべてが一致する場合、単体セレクタはマッチする。( http://momdo.s35.xrea.com/web-html-test/spec/CSS21/selector.html#selector-syntax )」 .contentTable は、後方互換のため、*.contentTableの省略形とみなされるため省略可能ですが、詳細度は[0010]です。出来れば、基点となるセレクタ、この場合はdiv、あるいは他のすべての要素なら*(全称セレクタ)を書く癖をつけましょう。  セクションの場合は div.section h3:after{content:url();} div.section+div.section+div.section+div.section h3:after{content:none;} [HTML5] section h3{content:url();} section+section+section+section h3{content:url();}  IE7以前への後方互換を考慮する必要があれば、<img>を追加する。この新着アイコンの表示のように、さして重要でなければ、スタイルシートで対応しているブラウザのみ表示させるという判断で良いと思いますよ。

marimond
質問者

お礼

迅速な回答と、そして補足質問にも細かくお答えくださりいつもありがとうございます。 <h3>見出し<img src="****" width="**" height="**" alt="(新着)"></h3> でも、正式ではないにしろ特に問題なく通用すると 豊富な知識のあるORUKA1951さんから頂いたことで安心しました。

回答No.6

もう一つ思い出した事がありますので。 古いブラウザ全般ではなく、IEに限定できるのであれば、 <style> h3:after{ content: url(); width: ---; height: ---; } </style> <h3>テキストテキスト<!--[if lte ie 7]><img><![endif]--></h3> という方法もあります。 この方法は文法違反にならず、また、文書構造も(基本的には)変えることなく、IE7(IE6なども)と、IE8以上の:afterをサポートしているブラウザも表示できます。 ただしアイコンを変更したい場合は、CSSとHTMLの両方を書き換えなければなりません。

回答No.5

見出しの中に画像(アイコン)を入れてもいいのかどうか、ということであれば、 文法上はNGです。 (画像が見出しの一部であれば、OKです。) そもそもCSSというのは、「CSSをサポートしていないブラウザでは表示しない事を良しとする」という考え方の元にありますから、 :afterなどを使って、IE7はアイコンが表示されなくても良しとする、 というのが、Web標準の考え方です。 で、それをふまえて、古いブラウザでも同じように表示させたい、というのであれば、<img>が無難だと思います。 <h3>テキストテキスト<img></h3> TwitterBootstrapというデザインテンプレートでは、アイコンを<img>ではなく<i>になっています。 (<i></i>の中には何も書きません。) 世界的に最も有名なデザインテンプレートですし、デファクトスタンダードとも言える方法です。 (文法チェッカーではエラーメッセージが出る事があります。) <h3>テキストテキスト<i style="background:略"></i></h3> 文法(文書構造)として、良いか悪いかで言えば、個人的には、悪いと思いますけどね。 画像を表示する事が目的で、 display:inline-block のサポート状況(代替方法)を考えれば、 透明GIFを使って<img src="spacer.gif" style="background:略">が簡単で理にかなってると思いますが、画像(スペーサー)を用意しなければならないという手間が増えます。 <h3>テキストテキスト<img src="spacer.gif" style="background:略"></h3> SEOでは<img>や<i>よりも<span style=""></span>がいいと思いますが、 <h3>テキストテキスト<span style="background:略"></span></h3> <i>がデファクトスタンダードになっていますので、特にGoogleは<i></i>を無視するのではないかと思います。 <img>でも<i>でも<span>でも、毒食らわば皿まで、ですかね。 同じ文法違反でも、多少なりとマシな物は何だろうか、的な所はありますが。 ご参考まで。

noname#206842
noname#206842
回答No.4

すでに回答が出ているようですが・・・ 必要な時にだけ、spanを利用してnewマークを付ければいいのでは?・・・ <h3>テキストテキストテキスト<img src="********"></h3> ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ <h3>テキストテキストテキスト<span class="new"><img src="********"></span></</h3> ***************************************************************************** CSS ↓↓↓↓↓↓ .new{padding-left:20px;color:#fffff;font-weight:bold;background-color:#f5ef52;} この程度でいいのでは???

marimond
質問者

お礼

他の方からも同じ回答を頂きましたが、 nanden1548さんのシンプルな回答が個人的にはヒットでした。 ありがとうございます。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

IE7以前に対処させるためには、 [jsを使わない] <h3>見出し<span class="latestMark"><img src="./images/icon/new.gif" width="40" height="20" alt="【新着】"></span></h3> span.latestMark{color:red;} [js]  ⇒jQuery Pseudo Plugin (:before and :after in Internet Explorer)( http://jquery.lukelutman.com/plugins/pseudo/ )

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

新着ならこちらかな(^^) _<style type="text/css"> <!-- html,body{margin:0;padding:0;} h1,h2,h3,h4,h5,h6,p{margin:0;line-height:1.6em;} p{text-indent:1em;} div.header,div.section,div.footer{width:90%;min-width:630px;max-width:900px;margin:0 auto;padding:5px;} div.section div.section h3{background-color:yellow;} div.section div.section h3:after{content:" 新着 ";color:red;}/* 画像でもよい */ div.section div.section+div.section+div.section h3{background-color:transparent;} div.section div.section+div.section+div.section h3:after{content:none;} body{background-color:gray;} div.header,div.section,div.footer{background-color:white;} /* aqua、black、blue、fuchsia、gray、green、lime、maroon、navy、olive、orange、purple、red、silver、teal、white、yellow */ --> _</style>

marimond
質問者

補足

いつもありがとうございます! そうだ、afterがありました。 … と思いましたが、 afterはIE7以下は非対応なのですよね。 IE7以下に対応させる方法はあるものでしょうか。 もしくはafterが出てくる前はどのような方法を使っていたのかなんて ご存知でしょうか。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

文書構造を良く確認して、適用したい要素の:after擬似要素に、contentプロパティです。 サンプル ★Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html )  で確認済みのHTML4.01strict+CSS2.1 リキッド、ウィンドウ幅は、スマホ以上対応 ★タブは_に置換してあるので戻す。 ★htt:はhttp:(全角)に置換してあるので戻す。 <!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>サンプル</title> _<meta name="author" content="ORUKA1951"> _<meta http-equiv="Content-Style-Type" content="text/css"> _<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" > _<link rel="START" href="../index.html"> _<style type="text/css"> <!-- html,body{margin:0;padding:0;} h1,h2,h3,h4,h5,h6,p{margin:0;line-height:1.6em;} p{text-indent:1em;} div.header,div.section,div.footer{width:90%;min-width:630px;max-width:900px;margin:0 auto;padding:5px;} div.section div.section.new h3{background-color:yellow;width:auto;line-height:22px;position:relative;} div.section div.section.new h3:after{content:url(http://cdn.oshiete.goo.ne.jp/images/common/powered_by_okwave.jpg?fcfd2d7);} div.section div.section.new h3:before{content:"新着!!";position:absolute;left:-3em;color:red;} body{background-color:gray;} div.header,div.section,div.footer{background-color:white;} /* aqua、black、blue、fuchsia、gray、green、lime、maroon、navy、olive、orange、purple、red、silver、teal、white、yellow */ --> _</style> </head> <body> _<div class="header"> __<h1>タイトル</h1> __<p>このページでは・・・・</p> _</div> _<div class="section"> __<h2>見出し</h2> __<p>本文はsection</p> __<div class="section new"> ___<h3>項見出し</h3> ___<p>本文項記事</p> ___<p>sectionの階層でレベルが判断される</p> __</div> __<div class="section"> ___<h3>項見出し</h3> ___<p>本文項記事</p> ___<p>sectionの階層でレベルが判断される</p> __</div> __<div class="section new"> ___<h3>項見出し</h3> ___<p>本文項記事</p> ___<p>sectionの階層でレベルが判断される</p> __</div> __<div class="section"> ___<h3>項見出し</h3> ___<p>本文項記事</p> ___<p>sectionの階層でレベルが判断される</p> __</div> _</div> _<div class="footer"> __<h2>文書情報</h2> __<dl class="documentHistry"> ___<dt id="FIRST-PUBLISHED">First Published</dt> ___<dd>2013-03-03</dd> __</dl> _</div> </body> </html>

関連するQ&A

  • hタグの背景画像は長く、中のテキストは途中改行希望

    CSSです。 よく、h1とかh2タグをページのローカルコンテンツエリアの一番上なんかに 配置させて、背景画像をつけて、その上にhタグのテキストを入れる表現手法がありますよね。 このとき、背景画像はローカルコンテンツ一杯のサイズで表示させるんですが、 テキストはパディングを効かせて背景画像の四方ギリギリまで表示されないようにしますよね。 例えば、背景画像がwidth:600px、height: 100pxとして、 paddingは、padding-rightだけを200pxとかにします。理由は背景画像の右スミに グラフィックがあり、その上までテキストが来てしまうと読めなくなってしまうから、 そのグラフィックの上にテキストが載る直前あたりでテキストを改行をさせたいから 右側のパディングだけを広くとります。 しかしこのように表示してくれません。 いったいどうしてで、解決方法は何でしょうか? 実際のソースは以下です。 一番目のリセットスタイルのCSS ------------------------------------------------------------ * { margin: 0; padding: 0; border: 0; background-color: transparent; color: #000; font-size: 100%; font-weight: normal; font-style: normal; text-decoration: none; } body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,blockquote,table,th,td,strong { margin: 0; padding: 0; } ------------------------------------------------------------ 二番目の通常のCSS ------------------------------------------------------------ h2#title {   clear: both;   float: left;   height: 110px;   background: url (../img/cmn/bg_h3.jpg) no-repeat;   color: #fff;   font-size: 1.6em;   padding: 20px 200px 0 20px; } ------------------------------------------------------------ display: inlineだと改行されませんよね。 なので、hタグにdisplayを未指定にしています。はデフォルトはblockなので。 宜しくお願いいたします。

    • ベストアンサー
    • CSS
  • CSS 同じページに違う画像を同時に表示させるタグ

    メモ帳を使ってホームページを作成しているのですが、行き詰ったのでお力お貸しください。 現在はこのような(下に表示)タグを使って、背景の画像1を表示させています。 <style type="text/css"> body{ font-size: 12pt; line-height: 200%; margin-left: 0px; padding-left: 0px; background-image: url(画像1); background-position: right top; background-repeat: no-repeat; background-attachment: fixed; } </style> 今回は、画像1(位置:右上)と同じページに画像2(位置:左下)を表示させたいのです。 画像1のみはきちんと右上に表示されるのですが、画像2も一緒に表示させる方法がわかりません。 様々なサイト様を巡らせて頂きましたが載っておりませんでした。 CSSでは二つの画像を同時に載せることが出来ないのでしょうか。 <IMG src="画像の名前">などで表示させることは可能だと思うのですが、このタグだと(私自身が初心者のため)上に書いたCSSに組み込まれた条件を書き直せる自信がありません。 ホームページ作成に関しては全くの初心者です。 上のCSSも、あるサイト様に書かれてあったのを利用させて頂いております(汗) 素人の質問で申し訳ありませんが、教えて頂けると助かります。 宜しくお願いします。 【あるページ】↓ 要するにこんな感じです。 「 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 画像1 │                │ │  ~文字とか~     │ │                │ 画像2________」

    • ベストアンサー
    • HTML
  • cssで、imgタグに、背景画像を敷きたい

    cssで、imgタグに、背景画像(影)を敷く方法を教えてください。 ※divタグに敷く方法は分かるのですが、imgタグに敷く方法が分かりません。 ■現状 <HTML> <div id="hoge"> <img src~ <CSS> #hoge img { background-image:url(/images/background_shodow.jpg); background-repeat: none; background:position: ? width:? height:? margin:? padding:?; <影の大きさ> ・width400px ・height200px <写真のサイズ指定> ・width390px ・height190px ※これまでは、 写真のサイズが違うので、 css部分の#hoge img で、 画像の大きさを強制指定してました。 出来れば、 画像の大きさは、html側で指定せずに、 css側で調整したいです。 ムリなら、html側で大きさ指定します。 div枠にcss設定できれば早いかと思いますが、 それが出来ないため(img タグにしかcss指定不可)の相談です。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • h3タグのCSS装飾

    おせわになります。 h3テキストの左横にアイコンを設置し、 下線としてドットラインをひこうと思います。 アイコンをh3背景画像で表示し、 ドットラインをh3タグの外にdivをおき表示させているのですが、 ドットラインを表示させる為のだけのdivタグなので、 あまり良い方法とは思わないのですが、 他に良い方法はありますでしょうか? ▼HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>テスト</title> <style type="text/css"> <!-- h3 { font-size:14px; margin:0; padding:0; background: url(http://www.geocities.jp/ajax3210/arrow.gif) no-repeat 3px 2px; padding-left:25px; } .h3-dotline { padding-top:10px; padding-bottom:10px; background:url(http://www.geocities.jp/ajax3210/dotline.gif) repeat-x left bottom; --> </style> </head> <body> <div class="h3-dotline"> <h3>テキストテキスト</h3> </div> </body> </html>

    • ベストアンサー
    • CSS
  • 【CSS】CSSでh1タグに背景を指定し、画像の中の任意の場所に文字を書き込みたいのですが、うまくいきません

    【質問】CSSでH1タグに背景を指定し、画像の中の任意の場所に文字を書き込みたいのですが、上下に余計な空白ができてしまい困っています。 【狙い】高さ32pxの3枚の画像ABCを縦につなぎ合わせた、高さ96pxの一枚の画像(=***)をCSSでH1の背景にし、H1の内容に応じてHTML上でclassを変えて、背景をAにしたりBにしたり変えられるようにする。 【コード】 CSS h1 {height: 32px;background-image: url(***);} .a h1{background-position: 0 0;} .b h1{background-position: 0 -32px;} .c h1{background-position: 0 -64px;} .a,.b,.c{margin: 0;padding: 0;} /*-↓画像のタテの中心に文字を並べるためにpaddingをとります-*/ h1 .subject{padding-top:9px;margin: 0;} HTML <div class="b"> <!--←A,B,Cに画像を切り替えます。//--> <h1><div class="subject">助けてください( T_T)</div></h1> </div> 【現状】 IE7 H1の下に余計な空白ができてしまいます。 FireFox3 H1の上下に余計な空白ができてしまいます。 どうすればよいのでしょうか?どこを修正すればよいのでしょうか、また 代替案があれば教えてくださるとありがたいです。

    • ベストアンサー
    • HTML
  • h1にタイトル画像を指定しているのですが・・

    h1にテキストでは、ページのタイトルを入れて、CSSで背景を指定しています。 【HTML】 <div id="header><h1>タイトル</h1></div> 【CSS】 #header h1{ text-indent: -9999px; background-image: url(../images/share/title.gif); background-repeat: no-repeat; height: 43px; width: 317px; margin-top: 10px; margin-bottom: 10px; margin-left: 10px; text-align: left; } FirefoxとIEでは表示されているのですが、Operaで見ると表示されていません。Operaで表示させることは難しいのでしょうか?

  • CSSの背景がネスケだと表示されません(><

    IEだとちゃんと見れます。 CSSのタグが #top-bg { background-image: url("archives/img/top.gif"); height: 55px; width: 700px; } #banner { font-family: Verdana, Arial, sans-serif; color: #e40c5d; text-align: left; padding-bottom: 0px; padding-top: 8px; padding-left: 350px; padding-right: 0px; } で、こういう風に表示しています↓↓ <div id="top-bg"> <div id="banner"> <h1>ページタイトル</h1> </div> </div> どなたかよろしくお願いします…

    • ベストアンサー
    • HTML
  • ブラウザ間のCSSの表示違いにつきまして

    現在、趣味のホームページを作成しているのですが、IEでは意図したとおり表示されるのですが、firefoxではCONTENT内上部(float boxの上)に隙間のようなものができてしまって困っています・・・ CSSは以下になります。 #content { width: 680px; margin: 0 10px; padding: 0; background-image: url(../img/content-back.jpg); background-repeat: repeat-y; text-align: center; overflow: auto; text-align: center; } #left { float: left; width: 456px; margin: 0; padding: 50px 0; text-align: center; } #right { float: right; width: 224px; margin: 0; padding: 50px 0; background-color: #000000; text-align: center; } #footer { height: 60px; margin: 0 10px; padding: 0; background-image: url(../img/footer-back.jpg); background-repeat: repeat-x; text-align: center; clear: both; } CONTENTを親要素として、その中にleftとrightボックスを作成しました。 なお、overflow: auto;をなくしてcontent・left・rightに高さを指定したら隙間はなくなるのですが、共に内容に準じた高さ(auto)にしたくて・・・ どなたか解る方いらしたらご教示お願いします!

    • ベストアンサー
    • HTML
  • CSS 〈address〉タグで囲んだ部分を最下部に表示したい

    CSS 〈address〉タグで囲んだ部分を最下部に表示したい お世話になっております。 CSSでサイトを構築しようと考えております。 その際にコピーライト部分を〈address〉~〈/address〉タグで 囲み、その部分をページの最下部に表示したいのですが それが出来ずに悩んでおります。 よく『containerの全長(例えば500px)のheightを指定して、main(450px)とfooter(50px)でそれぞれにも 高さを指定すればよい』との解答を見かけますが、私が考えるのは もっと単純に『ページの最下部に表示』をしたいのです。 例えばテーブルタグを使えば【vertical-align: bottom】で 簡単に実践できますがこの表現方法はスマートとは言えません。 過去ログを検索したところ・・・ http://okwave.jp/qa/q2859912.html の質問サイトに私と全く同じ症状に悩み、解決した方への回答が あるのですが、解答と同様に私のサイトにタグを適用しても解決出来ず困っております。 【index.html】 (--ページヘッダは省略--) <title>タイトル</title> <link rel="stylesheet" type="text/css" href="style.css" /> <style type="text/css"> </style> </head> <body> <div id="container"> <div id ="header"> <h1>こんにちは</h1> </div> <ul> <li><a href="index.html">top</a></li> <li><a href="schedule.html">schedule</a></li> </ul> <div id="main"> <h2>Welcome!!</h2> </div> <address>Copyright&copy;</address> </div> </body> </html> 【style.css】 @charset "utf-8";body , html { height: 100%;} body {color: #444444;} div#container {border: solid 2px #aaaaaa; padding: 20px; width: 500px; height: 100%; background-color: #ffffff; margin-left: auto; margin-right: auto} div#header {background-color: #111111; padding: 5px 20px;} h1 {font-size: 1.25em; font-family: Verdana, Helvetica, sans-serif; color: #66aa66} h2 {font-size: 1em; padding-left: 20px; padding-bottom: 3px; maragin-bottom: 10px; border-bottom: solid 2px #999999; background-image: url(freeback65.gif); background-repeat: no-repeat} ul {list-style-type: none; margin-left:0; background-color: #888888; padding-left:0; padding:3px 20px} li {display: inline; padding-right: 10px; color: #ffffff} li a {text-decoration: none; color:#ffffff} li a:hover {background-color:#bbbbbb} p {font-size: 0.75em; padding-left:10px} address {font-size: 0.625em; font-style: normal; color: #2d444f; text-align: center; text-valign: bottom;} この状態でwebで見ますと、肝心のアドレス部分は#container内の <p>タグの直下に表示されます。私の希望としましてはcontainer内の 一番下に表示されるのが理想です。 ご教授よろしくお願いいたします (タイトルミスで間違えてマルチ投稿になっちゃいました)

    • ベストアンサー
    • HTML
  • HP作成で背景画像が表示されないです・・

    いつもお世話になっております。 今回は、HP作成のことでご指導いただきたく投稿致しました。 説明が上手くできていないと思いますが 宜しくお願い致します。 参考書片手にCSSにトライしていますが 一部、背景画像が表示できず困っています。 ネットで調べていますと「float」を使っている場合について 対処法が色々掲載されているのですが 何か間違っているようで、どれを試しても 背景画像を表示することができません。 下記にhtmlとcssを簡単に貼り付けました。 説明不足がありましたら、ご指摘下さい。 Dreamweaver MX2004を使っています。 - html - <body> <div id="container"> <div id="header">  →背景画像表示されます。  <p>*****</p>  </div> <div id="box"> <div id="left">  →背景画像表示されます。 <p>***** </p> </div> <div id="right"> →背景画像表示されません。テキストは表示されます。 <p>*****</p> </div> </div> <div id="footer"> <p>*****</p> </div> </div> </body> - css - #container { width:800px; height:400px; top:0px; text-align:center; margin-left:auto;margin-right:auto; text-align:left; } #header { position: static; top:0px; font-size: 11px; padding-top: 0px; color: #003366; padding-left: 10px; width: 800px; background-image: url(img/*****.jpg); background-repeat: no-repeat; height: 120px; line-height: 25px; } #box{ width:800px; height: 600px; margin: 0 auto; } #left{ width:190px; float:left; padding-top: 50px; text-align: left; height: 600px; background-image: url(img/*****.png); background-repeat: no-repeat; padding-left: 20px; font-size: 12px; padding-bottom: 0px; } #right{ font-size: 10px; height: 600px; width: 590px; background-image: url(img/******.png); float:right; } #footer{ width:800px; clear:both; text-align: center; font-family: Osaka, "ヒラギノ角ゴ Pro W3", "HGSゴシックE"; color: #CC3300; font-size: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-top-color: #999999; padding-top: 20px; }

専門家に質問してみよう