
画像の表示で悩んでいます。
添付の画像のように、メインコンテナ(グレー)の幅が決まっている状況で、赤色で示した部分の画像だけをリピート掛けて、延々に横表示したいです。
ただし、bodyには別の背景画像を使用している前提です。
なので、bodyにはもう指定が出来ないですよね・・・。
そうした場合、body上に乗っかっている別のdivなどに背景を指定したいのですが、メインのコンテナ幅が決まっているので、それを飛びぬけての横リピートは出来ないですよね。
こういった場合、何か特殊な回避方や定義方がありますでしょうか?
どなたかお詳しい方アドバイス、宜しくお願いします。
なお、こんかい前提として挙げた条件は変更できないという中でお願いします。
「幅を変えたら?」、「bodyの背景やめたら?」系のアドバイスはお控え願います。
宜しくお願いします。

No.2ベストアンサー
- 回答日時:
No.3
- 回答日時:
>この部分を、親コンテナの500pxを無視して、画面いっぱいの表示は可能でしょうか・・・。
これは仕様上できないのです。
文書構造上、親コンテナブロック内の要素は、DOM上でその配下にありますから、それを外れるためには、absoluteで外さなければなりません。そうすると、その要素は親コンテナブロック内には存在しないことになりますから、それに続く要素は、そのabsoluteされた要素が存在しないように配置されてしまいます。
方法は、article(main_container)に幅を指定しないで、その内容に500pxを指定するしかないでしょう。
結果的に全く同じになります。構造上も不整合ではありません。
※main_containerではなく、articleが良いでしょう。--class名は文書構造を補完するためのものです。
HTML5では内部にheader,section,footerを持つ、あるいは持つと想定される完結したブロックを示します。
『DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』
これが理解されなかったため、新しい要素が追加されます。
★HTMLを書くときは、文書構造だけをマークアップする。HTML5では強く指摘されています。それに逆らわなければ樂です。将来どのようにもデザインできます。
★HTML5の新しい要素( http://standards.mitsue.co.jp/resources/w3c/TR/h … )の名称と用途はHTMLをマークアップするときのとても良い参考になります。
以下注意事項!!!よく読んでください。
★タブは_に置換してあります。
★HTML5にするときは、そのまま
<div class="header"></div>→<header></header>
<div class="article"></div>→<article></article>
にすること。
⇒The W3C Markup Validation Service( http://validator.w3.org/#validate_by_input )
⇒W3C CSS 検証サービス( http://jigsaw.w3.org/css-validator/#validate_by_ … )
で検証済み!! nth-child(2n)擬似クラスはCSS3のものです。CSS2.1の範囲で書くならclassにすると良いでしょう。
<!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;background-color:white;}
body{width:100%;position:relative;}
div.header,
div.section div.section,
div.footer,
div.section h2,
div.section p{
width:480px;padding:10px;/* 480+10+10=500 */
margin:0 auto;background-color:silver;
}
div.section div.section p{
width:auto;padding:0;background-color:transparent;
}
h1,h2,h3,p{margin:0;height:1.8em;}
div.section div.section:nth-child(2n){width:100%;background-color:red;}
-->
_</style>
</head>
<body>
_<div class="article">
__<div class="header">
___<h1>タイトル</h1>
___<p>このページでは・・・・</p>
__</div>
__<div class="section">
___<h2>本文</h2>
___<p>記事段落</p>
___<div class="section">
____<h3>記事タイトル</h3>
____<p>記事</p>
___</div>
___<div class="section">
____<h3>記事</h3>
____<p>記事</p>
___</div>
___<div class="section">
____<h3>記事</h3>
____<p>記事</p>
___</div>
___<div class="section">
____<h3>記事</h3>
____<p>記事</p>
___</div>
___<div class="section">
____<h3>記事</h3>
____<p>記事</p>
___</div>
__</div>
__<div class="footer">
___<h2>文書情報</h2>
___<dl class="documentHistry">
____<dt id="FIRST-PUBLISHED">First Published</dt>
____<dd>2012-08-10</dd>
____<dt id="LAST-MODIFIED">Last Modified</dt>
____<dd>2012-08-10 12:00:00 (JST)</dd>
___</dl>
___<address>© ORUKA1951 2012 - 2016 All Rights Reserved mailto:*****</address>
__</div>
_</div>
</body>
</html>
No.1
- 回答日時:
なにか、根本的な部分で間違えているような??
文書構造上、ありえる構造でしたら、そのようにデザインできるはずです。
ひょっとして、デザイン目的でHTML(やDIV)書いてませんか?構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )がされていない。
『DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』
ブロック要素は、親コンテナブロックのサイズを参照できます。
サンプルはリキッドです。header,section,footerは480px~900pxの間でウィンドウ幅の50%で追随します。
[例]HTML4.01
<body>
<div class="header">
<h1>タイトル</h1>
</div>
<div class="section">
<h2>本文</h2>
<div class="section">
<h3>記事</h2>
</div>
<div class="section">
<h3>記事</h2>
</div>
<div class="section">
<h3>記事</h2>
</div>
</div>
<div class="footer">
<h2>文書情報</h2>
</div>
</body>
html,body{margin:0;padding:0;background-color:white;}
h1,h2,h3{margin:0;height:1.8em;}
div.header,div.section,div.footer{width:60%;margin:0 auto;background-color:silver;min-width:480px;max-width:900px;}
div.section div.section{width:auto;}
div.section+div.section:before{
display:block;
content:"A";
width:200%;height:40px;
position:relative;
left:-50%;
background:red url() repeat-x;
}
[例]HTML5
<body>
<header>
<h1>タイトル</h1>
</header>
<section>
<h2>本文</h2>
<section>
<h3>記事</h2>
</section>
<section>
<h3>記事</h2>
</section>
<section>
<h3>記事</h2>
</section>
</section>
<footer>
<h2>文書情報</h2>
</footer>
</body>
html,body{margin:0;padding:0;background-color:white;}
h1,h2,h3{margin:0;height:1.8em;}
header,section,footer{width:60%;margin:0 auto;background-color:silver;min-width:480px;max-width:900px;}
section section{width:auto;}
section+section:before{
display:block;
content:"A";
width:200%;height:40px;
position:relative;
left:-50%;
background:red url() repeat-x;
}
有難うございます。
すみません、説明不足でした。
全てのコンテンツは、500pxの親コンテナ内にあることを想定しておりました。
ですので、今回頂いたソースで書かせて頂くと
<div id="main_container"><!--メイン500pxのコンテナですでに囲まれている-->
<div class="header">
<h1>タイトル</h1>
</div>
<div class="section">
<h2>本文</h2>
<div class="section">
<h3>記事</h2>
</div>
<div class="section">
<h3>記事</h2>
</div>
<div class="section">
<h3>記事</h2>
</div>
</div>
<div class="footer">
<h2>文書情報</h2>
</div>
</div><!--メイン500px-->
といった、感じの状況です。
この状況で
<div class="section">
<h3>記事</h2>
</div>
この部分を、親コンテナの500pxを無視して、画面いっぱいの表示は可能でしょうか・・・。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
テーブルの行を折りたたみたい...
-
ホームページのサイトでhtm...
-
HTMLでクロス抽出したい
-
htmlの<input type=”file”>でア...
-
ホームページを作っていたらhtm...
-
HTML/CSSを使って写真のような...
-
レスポンシブで困っています・・
-
HTML&CSS メディアクエリにつ...
-
スマホ(android)のタッチパネ...
-
css初心者 フレックスボックス...
-
サイトにコンテンツを並べる際...
-
テーブルのセルデータを自動改...
-
HTMLで画像をポップアップで表...
-
プログラムの関連性を教えて下...
-
画像が分割されて切り替わる、...
-
CSSでの文字位置の上下センタリ...
-
スマホでHTMLファイルを開いて...
-
ホームページの制作について教...
-
GoogleSearchControlにホームペ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
ホームページのサイトでhtm...
-
テーブルの行を折りたたみたい...
-
ホームページを作っていたらhtm...
-
iPhoneで HTMLファイルを閲覧
-
レスポンシブで困っています・・
-
HTMLでクロス抽出したい
-
HTML/CSSを使って写真のような...
-
ホームページの制作について教...
-
スマホ(android)のタッチパネ...
-
GoogleSearchControlにホームペ...
-
css初心者 フレックスボックス...
-
メモ帳の段落の揃え方
-
静止画画像をクリックすると音...
-
htmlの<input type=”file”>でア...
-
、URL化させるにはどうしたらい...
-
WEBページを強制的に横画面で見...
-
HTMLで画像をポップアップで表...
-
角丸画像の背景色を透明にした...
-
<input>のstep属性に違反する入...
おすすめ情報