• ベストアンサー

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
  • 回答数7
  • ありがとう数7

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

  • ベストアンサー
  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.6

お礼を読んでからの回答。前回答者全員の回答が正解です。 上と下とか、コメントしているようなので、設定方法が違うのでしょう。質問のしかたからしてCSSの事を理解している事を前提とした回答なので・・・ エスパー回答してみると CSSの部分とbody内の部分をそれぞれ別として考えてませんか? body内の<div>とか<p>とかにCSSを設定するので、どちらも両方書きかえしないとダメ・・・ 上を試してダメ、下を試してダメ、じゃなくて、 上と下を同時にコピペで試さないとダメだった訳です。 下記は、一体化してみたのでそのまま全部コピペして表示。 (DOCTYPEは、自分の仕様で) フレームとかブログじゃないよね? ----------------------------------------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <title></title> <style type="text/css"><!-- body{ font-size: 12pt; line-height: 200%; margin-left: 0px; padding-left: 0px; background: url(画像1) no-repeat 100% 0 fixed ; } div#aaa{ background: url(画像2) no-repeat 0 100% fixed ; } --></style> </head> <body> <div id="aaa"> <p style="height:1000px;">ここにコンテンツ</p> </div> </body> </html>

cce-yow
質問者

お礼

ご回答感謝です。 そもそも最初から間違っていたんですね>< すみません・・・ くっつけるものだったのですかー・・・(汗 試してみたら表示されました。 大変お世話になりました(・∀・) ありがとうございました!

その他の回答 (6)

  • abril
  • ベストアンサー率69% (388/560)
回答No.7

既に色々お答えが出ていますが、理解できるならANo.3の方の方法が一番すっきり(マークアップの入れ子を増やさなくて済む)していて良いと思いますが。 ANo.3様へのレスとして、 > 意味がよく分からなかったです;;意味など調べてはみたのですが・・・ とありますが、これを理解しないでHTML文書作る事自体スタート地点で転んでしまっている様なものです。「DTD」というキーワードでググるなどしてみましたか?「DTD」入れるだけで、まさにトップにその説明(しかもかなり有名なお手本的サイト)が出てきますよ…↓ http://www.kanzaki.com/docs/html/read-dtd.html 要は、HTMLファイルの先頭で宣言されていなければならない<!DOCTYPE~>という記述の事です。その(X)HTMLファイルがどの様なDTD(定義)に基づいて記述されるかを示すもので、必須です。どの文書型を定義するかによって、CSSの解釈等、表示結果の差に関わってきますので、この情報は非常に重要です。 お手元のHTMLファイルにも、必ずこの様な記述がされている筈です。まずは、それを確認して下さい。メモ帳で書かれているのであれば、直接ソースを見ながら編集されているという事ですから、確認するのは容易な筈です。 で、ANo.3様のアドバイスされている通り、その<!DOCTYPE~>が、XHTMLの何れかのヴァージョンだったり、HTML4.01 Strictであれば、html要素(<html>~<html>)とbody要素(<body>~</body>)に対して別々に背景が指定できる、という事です。例えば、下記はHTML4.01 Strictでのサンプルです。 --------------------------------------------------------------------- 【HTML】 --------------------------------------------------------------------- <!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"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>サンプル</title> <style type="text/css"> <!-- html { margin: 0; padding: 0; background: url(images/hoge2.jpg) no-repeat bottom left fixed #fff; } body { font-size: 12pt; line-height: 200%; margin: 0; padding: 0; background: url(images/hoge1.jpg) no-repeat top right fixed #fcc; } p { margin: 0; } --> </style> </head> <body> <p>(テキストなどのコンテンツ)</p> <p>(テキストなどのコンテンツ)</p> <p>(テキストなどのコンテンツ)</p> </body> </html> --------------------------------------------------------------------- 画面右上に表示する画像をhoge1.jpg、左下に表示する画像をhoge2.jpgとし、前者をbodyに、後者をhtmlの背景画像として指定しています。 ※便宜上上記サンプルではhtmlとbodyの領域の違いが分かり易い様に、一時的に前者に白、後者に薄い赤の色も併せて指定しています。本番では削除して下さい。 とりあえず上記のサンプルを試してみてはいかがでしょうか。それでイメージが違う様であれば具体的に補足して下さい。

cce-yow
質問者

お礼

ご回答ありがとうございます。 ご指摘感謝です。 <!DOCTYPE~>のことは気付いたのですが、No.3様が仰る意味がわからなく(´・ω・`)・・・ どう書かれていたらどういう意味なのか理解できませんでした。 サイトを作りつつ、HTMLタグのことをもう少し勉強したいと思います。 サンプル作って頂きありがとうございました! 試してみたのですが、画像2が表示されませんでした。 そのままコピーしたのですが・・・不思議です。 また私のやり方が間違っている可能性が高いですが><汗 本当にありがとうございました。

  • hamue
  • ベストアンサー率33% (2/6)
回答No.5

回答者のhamueです。すみません、若干書き忘れていました。 div#wrap{ background: url(画像1) no-repert right top; width: 100%; } これでどうでしょうか? widthを100%に指定していなかったので横幅が十分に確保できていなかったかもしれません。また、高さも画像分は確保できないといけないので、場合によってはheightで高さ指定をしてください。

cce-yow
質問者

お礼

二度もご回答ありがとうございます。 出来ました! お世話になりました(・∀・) 本当にありがとうございました。

  • hamue
  • ベストアンサー率33% (2/6)
回答No.4

現状のcssでは一つの要素につき登録できる背景画像は1つまでです。 ですので<body></body>内に全体を囲む要素を作ってあげればよいです。レイヤーと同じ理屈です。 お求めの表示の場合はこのようにしてください。 <body> <div id="wrap"> ~文字とか~ </div> </body> ■cssの設定 body{ background: url(画像2) no-repert left bottom; } div#wrap{ background: url(画像1) no-repert right top; } ページの一番下に表示させたい画像はbody要素のスタイルで設定してください。(divの高さは中コンテンツ分しか高さを保持できません、heightを指定するのはあまりオススメできませんし)

cce-yow
質問者

お礼

ご回答ありがとうございます。 お書き下さったCSSの設定の方で、コピペして試させていただきました。 結果ですが、画像1、2にそれぞれ入れてみた所、画像2のみが表示されました。 画像1は画像自体表示されなかったです(´・ω・`)すみません 両方とも固定で右上、左下に載せたいのですが、出来ないのでしょうか;; 私のやり方が間違っているのでしたら申し訳ありません。 ありがとうございました!

noname#83877
noname#83877
回答No.3

DTDがxhtmlだったりhtml4.01 strictの場合はhtml要素に指定するといいですよ。

cce-yow
質問者

お礼

ご回答ありがとうございます。 大変申し訳ないのですが、意味がよく分からなかったです;; 意味など調べてはみたのですが・・・本当にすみません(´・ω・`) 教えて下さりありがとうございました!

  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.2

<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; } div#aaa{ background: url(画像2) no-repeat 0 100% ; } </style> ------------------------------- <body> <div id="aaa"> <p style="height:1000px;">ここにコンテンツ</p> </div> </body> ------------------------------- コンテンツに、ある程度の高さがあれば良い。 ( style="height:1000px;" は今コンテンツが無いから例として設定) 画像2を固定にするなら fixed を入れる。 そんなに固定画像があるのは、おススメしない。。。

cce-yow
質問者

お礼

ご回答ありがとうございます。 下の方のタグは上手く出来なかったです、すみません(汗 上のCSSの方ですが、コピペして画像1、画像2を入れて試してみた所、上手くいきませんでした。 画像1のみが表示されてしまって、画像2は画像自体がが表示されなかったです。 教えて頂いたのに申し訳ありません。 もし私のやり方が間違っていましたら、お暇な時にでもご指導頂けると助かります。 ありがとうございました!

cce-yow
質問者

補足

お礼欄を書いた後に投稿しております(書き忘れです、すみません)。 オススメしないと仰る理由は、重くなるからとかの利用しにくくなるという意味でしょうか? 見難くなりそう、というご意見の場合でしたら、固定画像が2つなのはそれぞれが小さめのあまり華やかさがない画像だからです。 どっちか1つの画像だと地味すぎて逆に寂しいのですが、気に入った画像のため利用したいと思いまして・・・ 幸い、画像1と2は色も雰囲気も似た画像なので合わせてみようと思い立った次第です。 もし違う理由でしたらすみません><

noname#100277
noname#100277
回答No.1

CSSでは基本的に背景画像を指定するのは1画像のみです。 (一つの要素に対して。) で在るからdiv等のブロックレベルに対して、表示位置を「絶対数値」で指定して表示させる方法が良いのでは? 調べれば出ますので検索を。

cce-yow
質問者

お礼

ご回答ありがとうございます。 絶対数値、調べてみましたが良く分かりませんでした。 折角教えて下さったのに申し訳ありません。 また今から調べなおしてみます(汗 ありがとうございました!

関連するQ&A

  • CSSを用いた背景画像の表示方法

     お世話になります。  ホームページ作成の初心者です。  H1タグ(大見出し)の箇所に、文字付きの画像を貼付けようと思ったのですが、重くなる、との考えから、CSSにて背景画像で表示したいと考えております。  本来ならば、HTMLファイルとは別途、CSSファイルを作成し、これを読み込ませるのが一般的とお聞きしました。  ですが、添付画像ファイル(中に、”猫集まれ”と記載したいです)を、HTMLソース内部に、直接書き込みたいと思っております。  どのようにすればよろしいでしょうか?  因に、以下の情報を載せさせていただきます。 <h1>猫集まれ!</h1> url("img/flower10.gif") background-repeat: no-repeat; padding-left: 30px; line-height: 120%;  ご教示の程、よろしくお願い申し上げます。

    • ベストアンサー
    • CSS
  • ページごとに背景画像を変更したいのですが

    HPを作成中です。 レイアウトは各ページ全く同じなのですが、ヘッダー部の画像のみカテゴリによって変えようと思っています。 cssで各画像を指定しbodyタグにidやclassで変更を試みたところエディターでは異なる画像が表示されますが、いざweb上で確認すると画像が表示されない状況でした。 そこで、各ページにそれぞれスタイルシートを用いたのですがやはり上手く反映されません。 現在HTML側は <link href="style_i.css" rel="stylesheet" type="text/css" /> cssファイルには「style_i.css」と名前を付け、該当部分は #header { background-image: url(images/mainimg-2.jpg); background-repeat: no-repeat; width: 100%; height: 655px; } となっています。 mainimgの変更のみです。 やはりエディターでは表示されますが、web上では画像が表示されません。 どのようにしたら画像変更できるでしょうか? よろしくお願いいたします。

  • firefoxでcssを使った時背景画像が表示されない

    CSSでfloatを設定し、その中のそれぞれに背景画像を表示しようとすると、上手くいきません。 背景画像も背景色も表示されません。 構文に間違いがあるのでしょうか? それともそのような仕様なのでしょうか? よろしくお願いいたします。 ###CSS### #container { width: 900px; background-image: url(images/back.jpg); background-repeat: no-repeat; } #header { width: 900px; } #contents { width: 748px; background-color: #FFFFFF; background-image: url(images/image.jpg); background-repeat: no-repeat; background-position: top; padding: 0px; margin-left: 76px; } #footer { clear: both; width: 748px; margin-left: 76px; } #sidebar { float: left; background-image: url(images/side.jpg); width: 180px; margin-top: 14px; background-color: #FFFFFF; } #main { float: right; width: 568px; padding: 0px; background-color: #FFFFFF; background-image: url(../images/image2.jpg);

  • 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
  • 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
  • cssで背景画像をランダム表示する

    現在cssで背景画像をランダム表示するよう指示をしたいです。 テンプレート配布サイトからDLしたcssには以下のように指定されています。 ---- .menu{ float :left; background-image:url(img/menu_01.png); background-repeat:no-repeat; width :270px ---- このようなcss表記から画像をランダム表示に指定するには どのように加筆、修正をしたらよいのか教えて頂けますでしょうか。 似たような質問もたくさんされていたのでとても申し訳ないのですが、自力で色々試してみたものの、 どうしてもわからなかったので、お力を貸して頂ければ幸いです。 よろしくお願い致します。

    • 締切済み
    • CSS
  • 背景画像がきれます

    以前お聞きしたのですが、再度問題が出たのでよろしくお願いします。 <style type="text/css"> <!-- body { margin:0px; padding:0px; text-align:center; } #main { margin-left:auto; margin-right:auto; text-align:left; width:650px; } --> <!-- BODY{background-image : url(画像url); background-position:right top;} --> </style> </head> <BODY background="画像url" style="background-repeat:no-repeat"> でhtml書くと希望通り右上に画像が出たのですが、ずいぶん画像を小さくしなければなりません。もう少し大きくすると画像が切れてしまいます。今の状態で(小さい画像)では、実際サイトを見ると小さく画像の部分だけ区切ったような感じに見えます。どうすれば画像が区切ったような感じにならないのでしょうか?上記htmlが間違っているのでしょうか?それともう少し大きくして画像が切れない方法はないのでしょうか?よろしくお願いします。

  • 画像の位置を指定するCSS

    画像の位置を指定するCSS 文字の前にポイント画像を<img src="~.gif" alt="" />のタグで置きたいんですが、ずれて文字の上のほうに表示されてしまいます。 すごく簡単に文字の中央に表示されるように指定できるCSSのタグがありますがどんな記述だったか忘れました。 検索しても出てこないので困ってます。 どなたか教えてください。 ちなみに background: url(hogehoge.gif) no-repeat 10px 0.5em;list-style: none;} これではないです。 もっと簡単でtext-alignのようなかんじの記述です。でもtext-alignではないです。 middleみたいな記述があった記憶があるのですが確かかどうか自信ないです。

    • ベストアンサー
    • HTML
  • 外部CSSで画像にリンクを貼りたい

    まだCSS初心者ですので宜しくお願いします。 外部CSSに位置指定した「画像」にリンクを貼りたいのですが いろいろ調べてもその方法がわかりません。 以下のタグにどのようにリンクの指定をすればよいでしょうか? div#index{ margin-top:5px; background:url(../img/oribox.gif) no-repeat right bottom; } また、HTMLにはどのように記述したらよいかも宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • CSSについての質問

    /** ナビゲーション */ #mainNavi { width:740px; height:50px; overflow:hidden; margin-left:200px; } #mainNavi li, #mainNavi li.acitve { float:left; padding-left:10px; margin-left:1px; background:url(/images/navi.png) left 0px no-repeat; } #mainNavi a { height:50px; display:block; line-height:50px; padding:0 13px 0 3px; background:url(/images/navi.png) right 0px no-repeat; color:#fff; font-size:13px; font-weight:bold; text-decoration:none; } #mainNavi li.active { background:url(/images/navi.png) left -10px no-repeat; } #mainNavi li.active a { background:url(/images/navi.png) right -100px no-repeat; color:#fff; } #mainNavi .wii li.active { background:url(/images/navi.png) left -50px no-repeat; } #mainNavi .wii li.active a { background:url(/images/navi.png) right -50px no-repeat; color:#fff; } #mainNavi .ds li.active { background:url(/images/navi.png) left -150px no-repeat; } #mainNavi .ds li.active a { background:url(/images/navi.png) right -150px no-repeat; color:#fff; } #mainNavi a:hover{ color:#ff0; text-decoration:underline; } #mainNavi li.active a:hover { } というCSSを使って、 下のようなホームページを作成しました。 http://www.nin-site.net/ すべて人から教えてもらったものなので、CSSは初心者です・・・。 そこで思ったのですが、 TOP・掲示板・メール等・・・ のメニューを、左寄りにすることはできないのでしょうか? 下は、イメージ図です。(編集しました。) http://www.nin-site.net/image_style.jpg よろしくお願いします。 すべての内容が見たい場合は、 HTMLソース:http://www.nin-site.net/index.txt CSS:http://www.nin-site.net/css/style.css です。

    • ベストアンサー
    • CSS