2

cssを使用して、divが画像の例のように動作することを達成しようとしています: ページの例

これを行うためのきれいな方法はありますか?「左」の div の高さと「メイン」の div の幅と高さを計算するために JavaScript を使用してこれを実現します。しかし、私はこの解決策が好きではありません... cssのみを使用してこれを行う方法はありますか?

編集:ページにスクロールバーがあってはなりません...そのため、ページの高さは常に最大 100% であり、それ以上ではありません...

ありがとう

4

3 に答える 3

1

サイドバー (またはその他の div) が 100% の高さで、上部に 30px のヘッダーがある場合、コンテナは 100% + 30px の高さになります。

将来的には css3 calc(): http://hacks.mozilla.org/2010/06/css3-calc/で この問題が解決されます。

overflow: hidden;のところ、htmlandbodyセクションに追加できますが、Javascript を使用してサイドバーの高さ (コンテナーの高さ - ヘッダーの高さ) を計算することをお勧めします。

ここでフィドルを確認してください

于 2012-10-24T18:25:58.397 に答える
0

Without any code it is hard to determine what you want. Here is a extremely simple version of what I believe you want.

HTML:

<div id="header">

</div>
<div id="side">

</div>
<div id="content">

</div>

CSS:

#header {
    width:100%;
    height:50px;
}
#side {
    width:300px;
    height:100%;
    float:left;
}
#content {
    width:660px;
    height:100%;
    float:left;
}

jsFiddle

于 2012-10-24T17:51:19.160 に答える
0

2 列のレイアウトを意味する場合は、次のように純粋な CSS で行います。

.container {
  background-color: #aaaaaa;
}

.left {
    float: left;
    width: 100px;
    clear: left;
}

.right {
    margin-left: 100px;
    background-color: #888888;
}

および HTML:

<div class="container">
  <div class="left">left</div>
  <div class="right">right</div>
</div>

ライブデモ: jsFiddle

on top は、div特別な CSS なしで実現できます。下に何か (フッターなど) を配置するには、 を使用する必要がありますclear: both

于 2012-10-24T17:49:19.153 に答える