• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2段組レイアウトのCSSについて。左幅:可変/右幅:固定)

2段組レイアウトのCSSについて。左幅:可変/右幅:固定

このQ&Aのポイント
  • CSSで2段組のレイアウトを作成する際に、左幅を可変に設定し、右幅を固定にする方法について教えてください。
  • 上記のページのスタイルは、左幅を固定し、右幅を可変にしていますが、私はその逆のレイアウトを作りたいです。
  • 右と左を逆にすることで目的を達成できるのか不安ですが、以下のCSSで試してみましたが、うまくいきませんでした。#my_navigation {margin-right: 150px;}#my_contents {float : right ; width : 150px ;}

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

  • ベストアンサー
  • salonpath
  • ベストアンサー率48% (194/399)
回答No.2

あれ、htmlも変わるんですか? 汲み取れずすみません。 その場合は、ネガティブマージンを使うといいみたいですよ。 ■css/#my_contentsと#my_navigationは入れ替わっているとして #my_contents { width:100%; float:left; margin-right:-150px; display:inline; } #mymain { margin-right:150px; } #my_navigation { float:left; width:150px; }

march4
質問者

お礼

さらなる回答をどうもありがとうございます。 ネガティブマージンを利用する考え方で、目的のデザインを達成することができました。 また分からないことがありましたら、色々と教えて下さい。(^^

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • salonpath
  • ベストアンサー率48% (194/399)
回答No.1

右と左を逆にするだけですよ #my_navigation { float : right ; width : 150px ; } #my_contents {margin-right: 150px;}

march4
質問者

お礼

回答をどうもありがとうございます。 HTMLソースにおいて、 <div id='my_navigation'>略</div> <div id='my_contents'>略</div> という順序ではなく、 <div id='my_contents'>略</div> <div id='my_navigation'>略</div> という順序で、 ナビゲーション(メニュー列)を右側に配置し、 尚かつ、固定幅にすることは可能でしょうか? 知りたいことは、まさに、コレなんです。 ※なお、左側に配すコンテンツ列は可変にします。 --------------------- ちなみに、HTMLソースにおいて、 ナビゲーション(メニュー列)の<div>が先に登場する場合には、 おっしゃる通り、うまくスタイルが機能し、目的通りの配置となりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 2カラムで固定幅+可変幅のCSSは?

    2カラムのデザインで、左のカラムは幅が200px、右のカラムは幅が可変(100%から200pxを引いた値)にするにはどうすればいいのでしょうか? なお、右カラムの中身の文章はごくごく少量のときもありえます。 以上、よろしくお願いします。

    • ベストアンサー
    • CSS
  • 【CSS】左右可変、中央固定の3カラムレイアウト

    ボックス3つを横一列に、 center:画面中央配置、幅は900px固定 left:残りの左領域全て(幅可変) right:残りの右領域全て(幅可変) というレイアウトをしたいのですが、CSSでの指定方法が解らず困っています。 2カラムや左右固定・中央可変の3カラムレイアウトは様々なサイトで解説されているのですが、 このパターンは中々無いようで見つかりませんでした。 良い方法をご教示いただければと思います。 宜しくお願いします。

    • ベストアンサー
    • CSS
  • 固定幅+可変幅レイアウトがなぜこれで実装可能?

    cssで、固定幅+可変幅レイアウトについて、下記コードのようにやったら実現できたのですが、 なぜ右カラムのwidthが100%でも、ブラウザの横幅いっぱいでなく、 望みどおりに実現できてしまっているのでしょうか? 結果オーライではありますが、理屈が知りたい&後学のために、 理由をお教えいただければ幸いです。 (下記では見やすいようにタブを全角空白4文字に変換しています。) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>2カラムレイアウト(左固定幅、右リキッド)</title> <meta name="description" content="2カラムレイアウト(左固定幅、右リキッド)"> <meta name="keywords" content="CSS,2カラムレイアウト,左固定幅,右リキッド"> <meta http-equiv="content-script-type" content="text/javascript"> <meta http-equiv="content-style-type" content="text/css"> <style type="text/css"> *    {      margin: 0;      padding: 0; } #header {      width: 100%;      height: 150px;      background-color: #808080; } #container {      width: 100%; } #left    {      width: 200px;      background-color:#A9A9A9;      float: left; } #right {      width: 100%;      background-color:#DCDCDC; } #footer {      clear: both;      width: 100%;      height: 150px;      background-color: #808080;      } </style> </head> <body> <div id="header">     <p>ヘッダー</p> </div> <div id="container">     <div id="left">     <p>左あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ</p>     </div>     <div id="right">         <p>右いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい</p>     </div> </div> <div id="footer">     <p>フッター</p> </div> <p><a href="#" onClick="history.back(); return false;">戻る</a></p> </body> </html>

    • ベストアンサー
    • CSS
  • cssでの幅の分割(固定・可変混合)がうまくできません

    画面左をコンテンツ(幅は可変)・右をメニュー領域(幅は固定)とするために2分割し,さらにコンテンツを2段に分けようとして,次のような構成にしてみたのですが思い通りになりませんでした. <div style="width:200px; height:600px; background-color:#ccf; float:right"> メニュー </div> <div style="width:auto; height:600px; background-color:#fcc;"> <div style="width:50%; height:550px; background-color:#6f6; float:right">コンテンツB</div> <div style="width:auto; height:550px; background-color:#ff6;">コンテンツA</div> </div> 2段組は丁度半分ずつにしたかったので,右(コンテンツBの部分)のwidthを50%,左(コンテンツAの部分)はautoにしました.IE6では希望通りコンテンツ領域の幅の50%で表示されているようですが,firefoxではメニュー領域も含めたウインドウ全体の50%と解釈されているようで,IEとは表示が異なり困っています.どちらのブラウザでもコンテンツ領域をちょうど半分ずつにするにはどうすればいいでしょうか? ちなみに,コンテンツ内の左右を共に50%とすると,どちらのブラウザでもレイアウトが崩れてしまいます.firefoxならそうなっても仕方ないと思いますが,IEでも崩れてしまうのは疑問です.できればこの点にも配慮して両方とも幅を50%と指定しても崩れない方法をお教えください.

    • ベストアンサー
    • HTML
  • 2カラムの左固定、右変動幅にするには?

    CSS初心者です。 ページ幅に合わせて右カラムの幅を変えたいのですが 左カラムを固定にして右カラムだけ変動させるにはどのようにしたら良いですか? カラム全体をBOXで囲んで幅を決めてその中で 左カラムの幅を固定にして 右カラムの幅を100%としたところ 右カラムのフローティングが崩れて左カラムの下に表示されてしまいます。

    • ベストアンサー
    • CSS
  • ヘッダー・左カラムは固定、右カラム可変のレイアウト

    CSSでレイアウトを制作中なのですが、途中から分からず止まっております。 今の状況は縦に可変した時、左カラムのスクロールバーが最大まで表示されない状態です。また、右カラムは途切れてしまいます。 height100%に対し、ヘッダでピクセル指定しているからだと思うのですが。 ■CSS *{ margin:0px; padding:0px; } /** html */ html,body { height:100%; min-height:500px; overflow-y:hidden; } /** ヘッダ */ #header { height:125px; width:100%; } /** 左・右カラムの囲い */ #container { height:85%; margin-left:400px; } /** 左カラム */ #menu { float:left; height:85%; margin-left:-400px; overflow:auto; width:400px; } /** 右カラム */ #main{ float:right; height:100%; margin-left:430px; overflow:auto; width:100%; } /** フッタはありません */ ■HTML側 <div id="header"> ヘッダ </div> <div id="container"> <div id="menu"> 左カラム </div> </div> <div id="menu"> 右カラム </div> 以上です。 理想のレイアウトが、GoogleマップもしくはYahoo!マップの様に組みたいのですが・・・ http://maps.google.co.jp/ Googleマップ http://map.yahoo.co.jp/  Yahooマップ どなたかお力添えをお貸しください。 宜しくお願いします。

    • ベストアンサー
    • CSS
  • css 段組(3段 中央可変領域)

    いつもお世話になります。 cssで3段組(左エリア、中央エリア、右エリア)をする際、左と右のエリアは固定領域で真中だけ可変領域にしようと思っています。 全ての領域が指定なら、floatを使ってpx指定でうまくいくのですが、真中のエリアだけ可変ということで100%を指定すると、思うようにきちんと表示されません。 ググると、そのあたりはテーブルを使ったほうが確実みたいなことが書いてあったりはしたのですが、うまくcssで設定できないものでしょうか? 尚、上下にヘッダーとフッターがあるものとします。 ご存知の方、アドバイス等よろしくお願いします。

  • 【CSS】横3カラム:左右は固定pxで中央カラムはが残り幅となるにはどうすれば?

    http://www.amazon.co.jp/ のように、 横3カラムで、全体は100%、一番左カラムと一番右カラムは固定px、真ん中のカラムは100%-左カラム固定pxー右カラム固定pxで、 ウィンドウをリサイズしても、この状況が変わらない・・・ というようなCSS(JSもからむのでしょうか?)は、どのようにすればつくれるのでしょうか? <div style="float:left;"> 左カラム </div> <div style="float:right;"> 右カラム </div> <div> 中央カラム </div> 。。。だと、中央カラムが縦長になるとはみ出してしまいますよね・・・。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 左○○px、右は残りの幅(100%-左px)ってできますか?

    CSSでレイアウトを組みたいと思ってます。 要は左と右に2つに割って左はpx単位で指定して、右は残りのサイズ、ウインドウのサイズ変更に伴って可変するようにレイアウトを組んでいきたいと考えています。 発想力が足りないのか、基礎的な知識が足りないのか・・・ どちらも足りないとは思いますが、おしえていただければ幸いです。 どうかよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • CSSレイアウトの回り込みについて

    初めまして、よろしくお願いいたします。 見よう見まねでCSSレイアウトのweb制作に挑戦している者です。以下の現象についてご指南いただければ大変助かります。 ■CSS #wrapper { width : 620px; } #left { width : 300px; float : left; } #right { width : 300px; float : right; } ■ソース <div id="wrapper"> <div id="left"> (左寄せブロック) </div> <div id="right"> (右寄せブロック) </div> </div> 上記のCSSとソースで「620px幅の外枠」の中に「300px幅の左寄せブロック」「300px幅の右寄せブロック」が中央に20pxの隙間を空けて正常に表示されるのですが、右寄せブロックの中に長いテキストを改行せずに書いたら右寄せブロックが右寄せにならず、左寄せブロックの下に落ちて表示されてしまいます。 この現象は、長いテキストが300px幅に指定されている右寄せブロックの幅を押し広げている?から起こるのでしょうか。 右寄せブロックの中に長いテキストを書く場合、いちいち300px幅を意識して自分で改行を入れなくても、300pxの右寄せブロック幅を押し広げることなく自動折り返しされれば良いのですが。(右寄せブロックの高さは指定していないので) また、文字のサイズはpxで固定できない事情があるので、ブラウザで可変できるパーセント指定にしているのですが、ブラウザの文字サイズ中では正常に右寄せされている右寄せブロックが、文字サイズ大に変更したとたんに左寄せブロックの下に落ちてしまいます。 右寄せブロックの中に長いテキストを改行なしで書いても右寄せブロックが左寄せブロックの下に落ちて表示されない様、どなたかご指南いただければ誠に幸いです。