2012-03-17 12 views
1

この例では、http://jsfiddle.net/mnXH9/content-display要素の高さとnav-menu-containerの高さは固定されています。 Iはcontent-displaynav-menu-container要素がブラウザの高さなどのブラウザウィンドウの残りの高さまで延びの高さは、ユーザによって調整されて作るにはどうすればよい2つのサイドバイサイド要素の高さをブラウザの高さに合わせる方法は?

は、ブラウザウィンドウ内に高さを提供した400ピクセルの(高さよりも大きいですヘッダーとnav-menu-containerの組み合わせ)?

ブラウザの高さの合計がヘッダー(100px)とnav-menu-container(300px)の高さの合計より大きい場合は、スクロールバーがnav-menu-content要素内にあることをお勧めします。

ブラウザウィンドウの高さが400px未満の場合、ブラウザウィンドウにスクロールバーが表示され、100pxヘッダー全体でスクロールし、次の要素の300px最小高さを許可します。

EDIT

jsfiddleがどのように見えるかのフォトショップのモックアップがされている添付。

What tab 1 should look like when the browser height is less than 400px

タブ1ブラウザの高さが400ピクセル

What tab 2 should look like when the browser height is less than 400px

より大きい場合、ブラウザの高さ未満400ピクセル

What tab 1 should look like when the browser height is greater than 400px

タブ1である場合

タブ2ブラウザ高さが400ピクセル

EDIT

enter image description here

より大きい場合、ブラウザの高さ未満400ピクセル

What tab 2 should look like when the browser height is greater than 400px

タブ2でありますタブ2のhttp://jsfiddle.net/mnXH9/25/show/

答えて

1

EDITは - より良いオフに基づいて、コメントを働くものにフィドルのバージョンを切り替えてIE8を指摘しました。

View a full screen version hereview css here)。これは@mediaのクエリと他のCSS3を使用しているため、古いブラウザでは機能しませんが、リクエストしたものとまったく同じだと思います。これを達成するために、2つの列をposition: absoluteにリセットしました。必要に応じて高さを確認するためのjavascriptを使用して古いブラウザを修正することができます。

IE8(気にする場合)が#tabsに設定されている必要があります(他のブラウザの効果をより良くするために、.panelの中から削除しました)。

+0

ありがとうScott!それはまさに私が必要としていたものです。私のIDEは '@media screenと' 'min-height:400px 'に' 'と' 'の警告を投げていて、' '予期しないシンボルが見つかりました:この声明に? – user784637

+0

それは私が知っている唯一の構文です。 [w3c参照](http://www.w3.org/TR/2010/CR-css3-mediaqueries-20100727/#media0)。少なくともそれは単なる「警告」です。 – ScottS

+0

ああ、最後の質問ですが、クロムを使うと常に右側にスクロールバーがあります。あなたはそれを回避する方法を知っていますか? – user784637

-2
<style> 
html { 
height: 100%; 
} 
body { 
margin: 0; 
padding: 0; 
height: 100%; 
} 
#container {margin:auto; height:100%; width: 500px;} 
#header {top:0px;background-color: pink; height:100px; border-bottom: none; z-index:50} 
#content-display {position:relative; width: 300px; height:100%; float: left; z-index:-1;} 
#nav-menu-container {position:relative; bottom:43px;padding-top:50px;left:300px; width:200px; height:100%; background:lightblue; z-index:-1;} 
#nav-menu-content { width: 100px; margin-left:50px; margin-top:43px;height:300px; background:greenyellow;} 
#tabs ul li a {font-family: Arial,Helvetica,Verdana,sans-serif; font-size: 13px;} /*Tab title text*/ 
#tabs {height:100%;} 
.panel{height:218px; overflow: auto;} 
</style> 
+0

ブラウザの高さが400pxより大きい場合、これはサイドバイサイドの両方の要素をブラウザの下部に拡張しません – user784637

+0

申し訳ありませんが、あなたがただ一つを望んでいたと思って、修正してください。 – iwishiwasacodemonkey

+0

あなたの編集は 'それを修正する。私はあなたが私の質問を理解したとは思わない。 – user784637

0

faux columnsを使用すると、タブのコンテナに相当する高さを実現できます。右のナビゲーションは、手動の高さ設定で周囲を嘲笑するより簡単です。そうすれば、ブラウザの高さ全体に拡大して見えるようになります。

関連する問題