16

次のものが必要なエキゾチックなデザインがあります。左側はスクロールする必要がありますが、右側 + 上部のヘッドは固定 (固定) する必要があります。添付画像を参照してください。

位置によってこれを達成できます。上部と右側に固定します。左がスクロールしている間、上部と右側はそのままです....しかし、問題は、誰かがズームインするとスクロールバーがなくなり、左から右にスクロールしてページ全体を表示できないことです。

そのようなレイアウトをどのように攻撃しますか?

ありがとうございました。

前にコードを投稿できませんでした - もう一度試してみましょう:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Exotic</title>


<style type="text/css">
#top {
background-color: #FF0;
width: 1800px;
height: 50px;
position: fixed;
left: 0px;
top: 0px;
}

#sideLeft {
float: left;
width: 950px;
background-color: #9C0;
clear: left;
}

#sidebarLeft {
background-color: #0CC;
height: 800px;
width: 300px;
float: left;
}

.list {
float: left;
width: 600px;
margin-top: 100px;
}
#ordoner {
background-color: #F90;
float: left;
width: 640px;
height: 800px;
position: fixed;
top: 50px;
left: 950px;
}

#sidebarRight {
width: 210px;
height: 800px;
position: fixed;
top: 50px;
left: 1590px;
background-color: #0CF;
}

</style>
</head>

<body>
<div id="top">
</div>
<div id="sideLeft">
  <div id="sidebarLeft"><!--end #sidebarLeft--></div>
  <div class="list"><!--end .lisist--></div>
<!--end #sideLeft--></div>
<div id="ordoner"><!--end #ordoner--></div>
<div id="sidebarRight"><!--end #sidebarRight--></div>
<div id="footer"></div>
</body>
</html>

ここに画像の説明を入力

明確化: 私のCSSは右側に2つのものを反映していますが、ポイントは、左側がスクロールしている間、右側と上部は静的でなければならないということです...そして、ユーザーがズームした場合、それらは水平方向にスクロール可能でなければなりません:)

また、コンテナーの div に物をラップしようとしましたが、それには独自の問題があります。ウィンドウが最大化されていない場合、スクロールしますが、右側に到達しません。

再度、感謝します。

明確にするために:私のポイントを理解するための例として...スタックオーバーフローウィンドウのサイズを水平画面サイズの半分に変更してください...左から右にスクロールする方法を見てください。拡大すると、左右にスクロールしてページ全体を表示することもできます。まあ、全画面ブラウザモードで動作する私のレイアウトでは...下部のスクロールバーのサイズを変更すると、ユーザーは水平方向にスクロールできなくなります。下の写真を参照してください

フィドル http://jsfiddle.net/moby7000/tWb3e/

ここに画像の説明を入力

ここに画像の説明を入力

より詳細なレイアウトの新しい画像:

4

3 に答える 3

16

このようなレイアウトを作成するのはそれほど難しくありません。

私はあなたのためにそれを作成しました、ワーキングフィドルを見てください

HTML:

<div class="Container">
    <div class="Header">
        <p>The Header div height is not fixed (But he can be if you want it to)</p>
        <p>This Layout has been tested on: IE10, IE9, IE8, FireFox, Chrome, Safari, Opera. using Pure CSS 2.1 only</p>
    </div>
    <div class="Content">
        <div class="Wrapper">
            <div class="RightContent">
                <p>You can fix the width of this content.</p>
                <p>if you wont, his width will stretch just as it needs to.</p>
            </div>
            <div class="LeftContent">
                <p>this will scroll</p>
            </div>
        </div>
    </div>
</div>

CSS:

*
{
    margin: 0;
    padding: 0;
}

html, body, .Container
{
    height: 100%;
}

    .Container:before
    {
        content: '';
        height: 100%;
        float: left;
    }

.Header
{
    margin-bottom: 10px;
    background-color: #6ea364;
}
.Content
{
    position: relative;
    z-index: 1;
}
    .Content:after
    {
        content: '';
        clear: both;
        display: block;
    }

.Wrapper
{
    position: absolute;
    width: 100%;
    height: 100%;
}
    .Wrapper > div
    {
        height: 100%;
    }

.LeftContent
{
    background-color: purple;
    overflow: auto;
}

.RightContent
{
    background-color: orange;
    float: right;
    margin-left: 10px;
}

おまけ: CSS を少し変更するだけで、美しいスクロールを作成できます。そのフィドルを参照してください

編集: 幅の値を左側に設定したい場合、それは実際には本体のサイズよりも大きい(そして水平スクロールを持つ)場合は、そのようにしてください。

<div class="LeftContent">
    <div style="width:1200px;"> <-- better to aplly the width from the CSS
        ..<The content>..
    </div>
</div>
于 2013-09-30T19:43:47.127 に答える
1

overflow:auto;スクロールしたい領域に追加する必要があります。

于 2013-09-30T18:26:42.447 に答える
0

やってみました

overflow-y: scroll;

体内?

于 2013-09-30T18:18:41.940 に答える