• 締切済み

CSS絶対指定の問題

■絶対指定要素の次の要素を普通に流し込む方法■ 要素に絶対指定すると他の要素からは「無い要素」としてその要素を無視して流し込まれて行きますが、それを回避する方法はないでしょうか? 現在の指定は <body>  <div id="ベース">・・・絶対指定   <div id="コンテナ">    <div id="要素1">・・・絶対指定    </div>   </div>  </div>  <div id="問題"></div> //←(問題) </body> となっており問題となる要素を普通のHTMLのように流し込みたいのですが良い方法はないでしょうか? 自分で施した対処はベースを「相対指定」に変更しましたが、IEで幅を狭くすると応答無しとバグがでるようです。 分かりにくいかも知れませんがよろしくお願いします。

  • HTML
  • 回答数1
  • ありがとう数0

みんなの回答

  • partita
  • ベストアンサー率29% (125/427)
回答No.1

具体的なCSSの設定はどうしていますか? また、意図したいレイアウトは?(左メニュー右コンテンツ、のようなレイアウトではない?)

rockcat
質問者

補足

もうしわけないです要素1間違ってました。 具体的には ・意図したいレイアウト(HTML記述順)  右メイン(可変長)、左メニュ、ヘッダ、フッタ、問題 ・html構成 <body> <div id="ベース">・・・絶対指定  <div id="コンテナ">   <div id="右メイン">   </div>  </div>  <div id="左メニュ">・・・絶対指定  </div>  <div id="ヘッダ">・・・絶対指定  </div>  <div id="フッタ">  </div> </div> <div id="問題"> </div> </body> ・CSS ベース {position: absolute;left: 2%; right: 2%; min-width: 650px; } コンテナ {margin-right: 5px; padding-top: 120px;} (ベース右に5pxの画像、ヘッダ部分のスペース120px) メイン{padding-left: 11em;} (メニュ部分のスペース) メニュ{position: absolute; top: 120px; left: 0; width: 10em;} ヘッダ{position: absolute; top: 0; left: 0; width: 100%;} (ベースに対しての100%(ヘッダの中では他要素は絶対指定でレイアウトしている)) フッタ{} (特に指定なし) id=問題はサーバが後から記述する為変更できません。 後からの要素をベースの下部に流し込んでいくにはどうすれば・・・。 一番あってほしい解決方法は絶対指定要素を普通の要素としてなのですが・・・ 何か良い案はないでしょうか?

関連するQ&A

  • CSSでの2段組レイアウトでdiv#containerを導入する理由

    CSSでの2段組レイアウトでdiv#containerを導入する理由 CSSを使って2段組みレイアウトを構成する場合、次のようにdiv#containerを導入したマークアップをよく目にします。 <body> <div id="container"> <div id="header"> </div> <div id="main"> </div> <div id="menu"> </div> <div id="footer"> </div> </div> </body> また、div#containerを導入せずにbody要素の直下に#header, #mainなどの領域を設けている場合も目にします。 body要素直下ではなく、div#containerを導入するのはどのような理由からなのでしょうか?

  • 指定したidやclass以外の要素を指定するには

    cssで特定のidやclassを持った要素を指定することは常識ですが 指定したidやclass以外の要素を指定する方法はありますか? 例えば#mainというidを持ったdiv要素を除いた全てのdiv要素を指定するなど。 本来は共通のクラスを割り当てるのが正しいやり方だと思いますが、、、

    • ベストアンサー
    • CSS
  • CSS classの場合とidの場合の指定方法

    h1などをブロック要素ごとに、違うスタイルを適用させたく、下記のように、記述したのですが、ブロック要素をidで指定する場合は同じように、#mainと#main h1で指定し、<div id="main">とすればよいのでしょうか? それとも、h1は.main h1 とクラス指定して、<div id="main" class="main">とした方がよいのでしょうか?変な質問かもしれませんが、どちらも同じように表示するので、どちらがよいのか分かりません. <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <style type="text/css" media="screen"><!-- .main { width:100px;} .main h1 { color:red;} --></style> </head> <body> <div class="main"> <h1>aaa</h1> </div> </body> </html>

    • ベストアンサー
    • HTML
  • cssでの要素間の余白について。

    ホームページを作成しており、画像の下にdivをくっつけて、配置したいのですが、どうやっても、余白が出来てしまいます。styleでdiv要素にmargin-bottom:0、h2にmargin-top:0と記述しても、余白が出来てしまい、困っています。 さらにdiv containerの大きさについても、styleでwidth,heightで、大きさを指定しているのですが、横に画面一杯に広がってしまい、大きさ指定が反映されません。 初歩的な質問かもしれませんが、どこに問題がありますでしょうか? ご教授お願いいたします。 "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>xxxxxxxxxxxxxx</title> <style type="text/css"> body {background-color:#f5f5f5} div#container {width="800" height="40";background-color:#fff4d8} h1 {color:#330000;font-family:Geogia,Times New Roman,sans-selif} h2 {color:#330000;font-family:Geogia,Times New Roman,sans-selif;margin-top:0} </style> </head> <body> <div id="content"> <h1><img src="xxxxxx.jpg" alt="xxxxxxxxx" </h1> </div> <div id="container"> <h2> xxxxxxxx </h2> </div> </body> </html>

    • ベストアンサー
    • CSS
  • CSSでdivのheightを動的に

    DIV要素を作り、その中にテキストを配置しています。これの高さ(height)をCSSで次のようにしたいのですが。どのようにすれば良いでしょうか。 1.文章量が多く、画面外まではみ出したらDIV要素の高さをそれに追従させる。 2.文章が画面内に収まる場合、余ったスペースをDIV要素ですべて埋める。 DIV要素のheightを動的に変化させたいのでpxによる絶対値指定はしません。パーセント指定で100%にしてもうまくいかず、調べてみたところこれは親要素の値に依存するとのことでした。そこで html, body { height: auto; } #main { height: auto; } としてみたところ、1.の「はみ出した場合のサイズ追従」は実現できましたが、2.の「余ったスペースを埋める」ことはできませんでした。逆に html, body { height: 100%; } #main { height: 100%; } にすると2.の「余ったスペースを埋める」ことはできますが1.の「はみ出した場合のサイズ追従」はできません。この両方を実現することってできませんか?

    • 締切済み
    • CSS
  • CSS 絶対配置が効かなくて困っております。

    お世話になります。 ホームページ制作にて行き詰ってしまい、ご教授をいただきたく質問させていただきます。 【問題点】 CSSの絶対配置にて左側にロゴを配置しておいるのですが、IE5.5、IE6、IE7で確認した場合は、絶対配置が効かず?右側の位置に配置されてしまう状態で困っております。FireFoxやChrome、IE8などは問題なく左側に表示されるのですが・・ 【HTML】 <body> <div id="wrapper"> <div id="header"> <div id="logo"> <img src="common_img/logo.gif" /></div> </div> </div> </body> 【CSS】 body { font-family: Meiryo, "メイリオ", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", Osaka, "MS P Gothic", "MS Pゴシック", sans-serif; background-color: #FFF; text-align: center; line-height: 1.7; font-size: 93%; } #wrapper { margin: 0px; padding: 0px; } #header { height: 80px; width: 960px; margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; position: relative; zoom: 1; } #logo { position: absolute; top: 20px; } 参考までに画像とテストURLを貼らせていただきます。少しでも参考に参考になればご確認ください。 ご教授いただけることを心からお待ちしております。

    • ベストアンサー
    • CSS
  • CSSの段組で要素がかけてしまいます

    いつもお世話になります。 今CSSで段組をしています。 #content{ width:780px; height:auto; } #content{ float:left; width:440px; padding-left:20px; padding-right:20px; } #menu{ float:right; width:440px; padding-right:20px; } で左右のボックスを作り、 それぞれにテキストや画像などの子要素を入れていきます。 html <body> <div id="content"> <div id="main"> <div class="sub1"> </div> <div class="sub2"> </div> </div>  <div id="menu"> <div class="sub3"> </div> <div class="sub4"> </div>   <div class="sub5"> </div> <div class="sub6"> </div> </div> </div> </html> という具合です。子要素(sub)には高さ指定はしていません。 問題なのは、 firefoxでは子要素がきちんとおさまるのですが、 IE(6,7とも)右の3番目(sub5)の要素が欠落し、(飛ばされている感じ) safariでは右の4番目(sub6)の要素が右の1番上の要素にかぶって表示されます。 どうしたらいいでしょう?どなたかご教授ください。 質問に慣れていないので、もし補足が必要であればお願いします。

  • CSSで高さ100%のレイアウト

    テーブルを使用せずCSSでのレイアウトなのですが フッター位置をブラウザの一番下にマージン無しで指定したいのですが出来ません。 テーブルでは <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td valign="top">内容</td> </tr> <tr> <td valign="bottom">フッター</td> </tr> </table> というように指定していたのですが CSSでのレイアウトはHTMLを <div id="container"> <div class="content">内容</div> <div id="footer">フッター</div> </div> .CSS では #container { height: 100%; } は無効なのでしょうか? 他のやり方でもフッターをブラウザの一番下にマージン無しでレイアウトできる方法があったら教えて下さい。

    • ベストアンサー
    • CSS
  • CSS #containerについて

    えっと、CSSについての質問です。 最近勉強をはじめたのですが、 #container を下まで伸ばすのに height: 100%; min-width: 100%; をいれても下まで伸びない現象がおきています。 最初は伸びていたのですが、 ヘッダーとフッターを横に100%にしてから 様子がおかしくなりました。 減ったーフッターは横に全部伸ばしたくて、 コンテイナーは横は余白つけて下にのばしたいのです>< どなたか原因がわかる方、対処法わかる方 いましたらお願いします>< ------------------------------HTML--- <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" type="text/css" href="index3.css"> </head> <body> <div id="container"> <div id="headerbg"> <div id="header"> <h1>header</h1> </div><!-- header --> </div><!-- headerbg --> <div id="menu"> <ul> <li><a href="">めにゅー1</a></li> <li><a href="">めにゅー2</a></li> <li><a href="">めにゅー3</a></li> <li><a href="">めにゅー4</a></li> <li><a href="">めにゅー5</a></li> <li><a href="">めにゅー6</a></li> </ul> </div> <div id="main"> <div id="contents"> </div><!-- contens --> <div id="sidebar"> </div><!-- sidebar --> </div><!-- main --> <div id="footerbg"> <div id="footer">Footer</div><!-- footer --> </div><!-- footerbg --> </div><!-- container --> </body> </html> -------------------------CSS--- html { background-image: url('hana3.jpg'); background-attachment: fixed; } body { font-family: Verdana, Arial; font-size: 20px; margin: 0px; padding: 0px; } html,body,#main,#container{ height:100%; } #container { height: 100%; min-width: 100%; background-color: rgba(255,100,0,0.5); } #headerbg{ width: 100%; min-width: 100%; background-color: rgba(255,100,0,0.5); } #header { padding: 40px; width: 100%; } #menu { } #menu>ul>li { float: left; } #main { overflow: hidden; } #sidebar { } #footerbg{ background-color: rgba(255,100,0,0.5); width: 100%; min-width: 100%; } #footer { padding: 50px; width: 100%; }

    • 締切済み
    • CSS
  • ページ上部の余白をなくしたい(CSS)

    初歩的な質問で申し訳ありません。 以下のような記述なのですが、 <div id="container">の上部にスキマが出来てしまいます。 背景に仮色をつけたりして確認しましたが、 どうしても余白をなくすことができません。 marginの指定の仕方がおかしいのでしょうか? ご指摘いただけると助かります。 /* HTML(単純に書くとこんな感じです)*/ <body> <div id="container">   <div id="header"> <div> </div> </body> /* CSS */ body { margin : 0; padding : 0; background-color : #eeeeee; font-size : 12px; line-height : 150%; color : #333333; font-family : arial, helvetica, sans-serif, Verdana, Geneva, MSゴシック; text-align : center; } #container { margin : 0 auto; padding : 0; width : 751px; text-align : left; background-color : #ffffff; } #header { margin : 0 auto; padding : 0; width:745px; height:120px; background: transparent url(***.jpg) ; background-repeat: no-repeat; }

    • ベストアンサー
    • HTML

専門家に質問してみよう