• ベストアンサー

相対だけど固定にしたい・・・お助けを~

宜しくお願いします。 現在ページを%指定で作っているのですが、思うように表示が出来ません。 ちなみにページ構成は2カラムで、ボックス部分は全て%で指定しています。 また、それらを全てCSSで定義しているのと、xhtmlのストリクトで定義しています。 問題部分は、ブラウザを最大化して閲覧すると問題なく表示されるのですが最小化?というか、小さくしてブラウザの端っこを持って左右に伸ばしたり縮めたりすると、ページの中に表示されているボックス部分が下に回り込んだりして崩れてしまいます。 意味が伝わりますでしょうか?なんとも表現が難しいのですが・・・。 普通、画面を小さくしても中のページコンテンツはそのままで、表示自体は崩れないと思うのですが、例えば、http://www.w3.org/ 相対指定なので、それぞれの3カラムの幅は比例して収縮されますが、 その、並びなんかはそのままですよね? 私の場合、画面を縮めるとboxごと下に回り込んで、根本的なレイアウトが変わってしまうのです・・・。 変な質問ですみません、伝わらなかったら補足します・・・。 どなたかアドバイスを宜しくお願いいたします。

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

  • ベストアンサー
  • ICHI-yan
  • ベストアンサー率33% (45/134)
回答No.2

ご要望のようなデザインを、「リキッドデザイン」といいます。 それで、検索すれば解決の可能性高いです。 ソースがないので、憶測ですが、ボックスの取り方にpaddingやmarginやborderを使われると思うのですが、その解釈により、画面いっぱい100%の筈が、100%を超え、はみ出した部分が下に回り込むのだと思います。

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

その他の回答 (4)

noname#23734
noname#23734
回答No.5

>画面を縮めるとboxごと下に回り込んで、根本的なレイアウトが変わってしまうのです floatはそういうものです。 ”floatする要素は親要素が作るボックス左辺より左にはいけない” ”あるボックスがfloatで、それ以前に出現する要素が同方向のfloatの時、後に出現するボックスの外左辺が、前のボックスの外右辺より右でなければならない。そうでなければ、後に出現するボックスの外上辺が、前に出現するボックスの外下辺より下でなければならない。” ブラウザはこの規則を守っているのではないでしょうか。 現実的では有りませんが、レイアウトしている要素をoverflow:hidden又はoverflow:scrollにするとレイアウトが崩れないと思われます。 (試したことはありません) 何故かというとたぶんレイアウトしている要素からはみ出した内容を表示しなかったり、スクロールして見れるようにするため次の要素が回り込むスペースを確保できるのだと思います。

apple_mango
質問者

お礼

皆さん有難う御座いました。 今回の件で色々と勉強になりました。 また色々なアドバイス本当に感謝いたします。!

全文を見る
すると、全ての回答が全文表示されます。
  • MAN_MA_RUI
  • ベストアンサー率41% (426/1024)
回答No.4

apple_mangoさん、こんにちは。MAN_MA_RUIと申します^^ > 問題部分は、ブラウザを最大化して閲覧すると問題なく表示されるのですが最小化?というか、小さくしてブラウザの端っこを持って左右に伸ばしたり縮めたりすると、ページの中に表示されているボックス部分が下に回り込んだりして崩れてしまいます。 うーん、ボックス幅の合計が90%とか80%くらいならばある程度大丈夫かもしれません…^^; 100%とか、99%とかぎりぎりの数値だとウインドウ幅でずれることもありますが、ある程度余裕があれば多分大丈夫です。 まぁそれでもウインドウを縮めてマルチカラムレイアウトが崩れるのは想定内の動作だとお考えください。 というかある程度狭くなったときは動いたほうがいい場合もあると思います。文字の折り返し頻度が高くなるとものすごく見づらいです…^^; それに普通の人ならば見やすいウインドウサイズ、見やすい表示幅、見やすいフォントサイズで見ると思いますがら、 極端に狭くしたときマルチカラムレイアウトが崩れるのは無視していいと思います。 IEのウインドウ幅を800x600程度にして、横にお気に入りを表示したくらいの大きさをひとつの基準に考えると良いんじゃないかなー? あまり当てになりませんが…。

全文を見る
すると、全ての回答が全文表示されます。
  • 123isao
  • ベストアンサー率54% (186/341)
回答No.3

%指定で作る以上そうなります。 http://www.w3.org/ のページでも横幅を短くすると 一番右の列が下に移動してしまいます。 移動するタイミングは横幅固定のパーツ部分(画像など)が%指定より長くなってしまう場合です。

全文を見る
すると、全ての回答が全文表示されます。
  • Rusica
  • ベストアンサー率62% (10/16)
回答No.1

どんなHTMLとCSSを書いているのか分からないので何とも言えませんが、 とりあえず下記URLのサイトで段組レイアウトに基本を学んでみてはいかがでしょうか?

参考URL:
http://www.geocities.jp/multi_column/
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CSSを使った相対単位の指定方法を教えていただけますか?

    今までpxなどの固定幅でしかサイトを作ったことが無かったのですが、今回、%でサイトを作っていこうと思います。 色々とお伺いしたいことは有るのですが・・・。 何個か聞いても良いですか? 質問1 文字などの単位は何で指定したら良いですか?以前は12pxとかで指定していましたが、枠だけ%で文字はpxって何か変かな?と思っています。 通常こういった相対的なサイトを作る場合、どんな単位で指定されますか? 質問2 現在CSSで3カラムをやっとこ作りました。大まかに左から30%・50%・20%といった感じで、うまく表示されているのですが、画面の端っこをつまんで表示を小さくしたら、カラムごと移動してしまいます。 一番小さく画面をしたら、全部左側のカラムの下に移動して、縦一列の1カラムのようになってしまいます。文字は仕方ないかと思うのですが、BOXごと移動は少し変なので、これを固定するにはどうしたら良いでしょうか?? 色々質問してすみません・・・。1つでも結構ですのでお分かりになる方いらっしゃいましたら、アドバイスお願いします! また、相対的な単位でもサイト構成で注意事項などあれば、ご指摘いただければ幸いです。 どうぞ宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • フッターの位置を一番下に表示させたいのですが・・・

    表示方法について質問をさせてください。 現在、サイトを作っているのですがフッターの表示が上手くいかず悩んでいます。要はフッター部分(ページ最下部)の表示項目を、必ずページの一番下に表示させたいのです・・・。 しかし、今の設定ではコンテンツ量の多い少ないで表示される場所が変わってしまいます。 コンテンツが結構あるページでは、当然一番下に表示されるのでOKなのですが、例えば、空っぽのページでヘッダーとフッターしかない状態だと、ヘッダーのすぐ下にフッターが表示されてしまい、その下に無駄な空間が存在してしまいます。 そうでは無く、コンテンツの量に左右されず、必ずブラウザの画面一番下にフッター部分が表示されるようにしたいのですが、色々と試してみるのですが、出来ませんでした・・・。 サイズなどを指定してしまうと、コンテンツの内容に影響されまた結果が変わってしまいますし、ブラウザによってはバグ的な表示になってしまうので、これはNGでした。 これらを実現するためには、何か特殊な設定をHTML側、またはCSS側で定義しなければならないのでしょうか? ご存知の方いらっしゃいましたら、是非、アドバイスの程よろしくお願いいたします。

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

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

    • ベストアンサー
    • CSS
  • 2重フロートの1つだけの解除のしかたについて

    左右段組のWebページをfloatを使って作っています。 <div class="column01">と <div class="column02">をつくり 01が左メニュー、02が右本文です。 その02の子階層でimgをさらに「float」しました。 以下のような構造です。 div.column01{float:left} div.column02  └div.img-box    └img{float:left}    └p  └div.txt-box で、上でいう「div.txt-box」から「float」を 解除したいのですが 「clear:left」を使うと、一部のブラウザでは 2つの「float」とも解除され、下のように divがcolumn01の下にまでいってしまいます。 column01 column02  ↓    ↓ □□□ ■■△△△ □□□ ■■△△△ ←div.img-box □□□ △△△△△ □□□ □□□     ×××××     ××××× ←div.txt-box ちなみに「clear:left」は 「div.txt-box」に指定したり、不本意ながら 構造図での「p」要素の次を<br>し その<br>に指定したりしましたが、同じです。 ◆質問1◆ 「clear」は直前の親要素に対して のみ有効というわたしの理解は合っていますか? ブラウザのバグなのか、わたしがおかしいのかを教えてください。 ◆質問2◆ 意図通りにいかないのは 「Netscape4.73」ですが、解消方法があれば どうぞお教えください。 参考ページのご紹介でもうれしいです。

    • ベストアンサー
    • HTML
  • cssで長さの指定方法を簡単に出来ないでしょうか?

    現在3カラムでホームページを作っています。boxなどの指定は全てcssでやってみたのですがうまくいきません。 現状の問題は中央のboxだけがとにかく下に長いんです。こちらにメインの情報を載せているためなのです。そして左右のboxはメニューくらいの表示なのでとても短いです。 しかし、左右のboxも中央のボックスの長さにぴったりとあわせてやりたいのですが、うまく出来ません? 何故中央にあわせたいかといいますと、左右のboxは色を付けているため下まで全てその色にさせたいと考えています。 そこで色々と試してboxの長さを3000px(中央にあわせて)などと指定してみましたが、中央の文章量などが変われば左右だけ取り残されてしまいます。 私の説明で伝わりますでしょうか? ようは、中央がどんなに長さが変化しても左右もそれに合わせて中央のboxの下部分にぴったりとあわせることが出来たらと思います。 どなたか解決法をご存知の方、アドバイス宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • 画面を縮小するとカラムが落ちます・・・。

    現在CSSで2カラム構成のサイトを作成しています。 左メイン、右サイドバーと言った感じです。 ただ、ブラウザの画面を小さくしていくと、右のサードバーが隠れずそのまま下に落ちてしまいます。 いずれもpx単位で定義しています・・・。 画面の縮小を行ってもカラム落ちしないように、強制的にそこにとどまらせる方法はありませんでしょうか?また、カラムが落ちることに関して、何か予測される原因などが御座いましたら、アドバイスいただけますと幸いです。 どうぞ、宜しくお願いいたします。

    • 締切済み
    • CSS
  • レイヤーの位置を固定する方法

    メニューにマウスをのせたら、その下にサブメニューが表示されるようにしたいと思っています。 (TOYOTAの2階層目以降のような感じです) Flashは使わずレイヤーで作っているのですが、ブラウザを全画面に大きくして見るとちゃんとした位置に表示されていても、小さくするとレイヤーの部分が右にずれてしまうのです。 メニューボタンの下にそれぞれレイヤーを作っており、タグは<div>を使用しています。 また、Dreamweaver8を使っていて、レイヤーの左・上からの位置を適当にpxで指定しています。 常に同じ場所にレイヤーが表示されるようにするには、どうしたらいいのでしょうか。 わかりづらいかと思いますが、よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • Webページ作成の際に、固定ヘッダの下へのリンク

    Web作成初心者(ド素人)です。 今、Webページを固定ヘッダーを使って作成しているのですが、固定ヘッダにあるリンク元からリンクをクリックした際に、固定ヘッダの下部分にリンクをしたいと思っています。 図のように、固定ヘッダの「(1)」のリンクをクリックすると、画面下部のみ「(1)」の画像が表示されるページへ遷移し、「(2)」のリンクをクリックすると、画面下部のみ「(2)」の画像が表示されるページへ遷移をさせたいです。 固定ヘッダにそのままリンクを書くと、当然ではありますがブラウザの全体ページとしてリンク先の画像があるページへ移動してしまいます。 固定ヘッダ部分は何も遷移せずに、下部分のみ変更させたいです。 すいませんが、ご教授をお願いできませんでしょうか。 よろしくお願いいたします。

  • XHTMLでHPのコンテンツ以外を固定する方法

    今趣味でホームページを作っているのですが、XHTMLでボックスを2段組にデザインして作っています。 それでヘッダー、サイドバー、フッターを固定してコンテンツだけに別のページを表示させたいのですが、可能ですか? 可能でしたらどういう風にやればいいのでしょうか? まだXHTMLを勉強して半月くらいの素人なのでお答えいただけると嬉しいです。 ちなみにタグなどの知識はちょっとありますが、Java scriptはよくわからないので使ってません><

  • XHTML1.1+MathML2.0+SVG1.1をブラウザで表示したい。

    XHTML1.1 MathML2.0 SVG1.1 XML1.0 これを含むコンテンツをブラウザで表現する方法を探 しています。 XHTMLを文書の全体的な配置や意味の定義に使い、色や、配置にCSSを使い。 数字表記にはMathMLを。 ベクター画像にはSVGを使用し。 他のプログラムが使用するデータをXMLとして内包するページを作成しようと思っています。 XML1.0に関しての仕様は大体抑えたので、HTMLをXMLで再定義したものであるXHTML1.1でウエブページを作ろうとしたところなぜか巧く表示できません。 ページは"整形式XML"としては正しく作成しました。 ブラウザはIE6.0です。 使用する前にパラメータ エンティティを定義しなければなりません。リソース 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd' の実行エラーです。ライン 85、位置 2 %xhtml-prefw-redecl.mod; -^ というエラーメッセージが返されました。 ファイル拡張子は、xmlとしました。 ページは、人間だけでなく、他のプログラムへ対しても意味を持つようにしたいので、中にXMLのデータを挟みこめることは必須です。 この条件での、ウエブページ制作を詳しく解説しているサイトは無いでしょうか?

    • 締切済み
    • XML