が、これはイメージです: 私はHTMLレイアウトを作りたいHTMLレイアウトの問題
ページ全体のdivを含める:
Head
left
main01
main02
そして、制御DIV:
toogle_bar1
toogle_bar2
今私は次のような効果を作りたいと思っています:
1) head
ブラウザの指定された高さ(たとえば50ピクセル)をとり、ブラウザの幅を100%とします。 2)デフォルトでは、main02
は表示されないため、main01
divは同じ高さのleft
をとり、左の幅をとります。
3)toggle_bar1
をクリックすると、left
)は、それが表示されていないと、main01
(及びmain02
main02
場合が表示され、表示/非表示すべきは、ブラウザのすべての幅を取ります。
4)toggle_bar2
をクリックすると、main02
は表示/非表示になります。一度表示されると、main01
と同じ幅になります。
5)main01
およびmain02
には、明示的にwidthおよびheightプロパティが必要です。 6)ウィンドウのサイズが変更されても、スクロールバーは表示されません。
実際、私はJavaScriptを使って作ることができますが、私は純粋なCSSを使って作ることができるのでしょうか(もちろん、jsはclickイベントを処理する必要があります)?
今、私はJSを使用しているのでtoggle_bar1
がクリックされたとき、私は、「表示:なし」にleft
を設定し、その後clientwidthをcaculate、およびmain01
(または/およびmain02
)の幅を設定し、この場合、私は疑問に思いますブラウザで表現できますか?
私は、ブラウザで行うことができれば、私たちは余分なポジションを避けるべきだといつも思っています。
アイデア?
私はこれを行うためにYUIを使用することをお勧めします。 – Brad
私たちは追加のjsライブラリを使用することはできません。 – hguser
あなたは、main01とmain02が明示的な幅を持つべきだと言っています。パーセンテージか離散的な価値を意味しますか?離散値を使用する場合は、正しいギャップを埋めるために何を使用しますか(値が小さい場合)。ギャップがなければ、パーセンテージの値は良い考えだと思います。両方を表示すると45%、1つしかない場合は90%に設定します。 – strauberry