ブラウザ ウィンドウが特定の幅に達するまで、サイドバーがビューポートの右側に 30% の幅 (コンテンツは左側) で固定されるサイトのレイアウトを作成しようとしています。コンテンツとサイドバーを中央に配置し、ブラウザー ウィンドウに合わせて大きくならないようにします (幅が非常に広いと読みにくくなるため)。使用されているhtmlのアイデアは次のとおりです。
<body>
<div id=sidebar>sidebar content</div>
<div id=content>articles, images, etc</div>
そして、これをフォーマットするために使用されている基本的な HTML の一部を次に示します。
#sidebar {
width: 30%;
position: fixed;
right: 0;
top: 0;
background-color: gray;
}
#content {
width: 70%;
margin-right: 30%;
max-width: 49em;
}
この時点で、コンテンツの幅が 49em を超えると、コンテンツはページの右側にくっつき、固定サイドバーとの間のギャップがますます大きくなります。私が望むのは、最大幅 49em に達し、サイドバーが 21em に達し (したがって、まだ 70:30 です)、固定されたままですが、70em 相当の幅全体がビューポートの中央に配置されるようにすることです。
また、サイドバーの背景色を、コンテンツの端から画面の右側まで全体に広げたいと考えています (つまり、サイドバーとコンテンツの両方を中央に配置し、最大幅 70em の div を含む場合はそうではありません)。サイドバーの背景は、ビューポートではなく、含まれている div の端にのみ移動するため、機能します)。これはそれほど重要ではありません。body 要素にある種のテクスチャ付きの背景を配置して、ページがテクスチャ付きの表面に「座っている」ように見せることができます (理想的ではありませんが、問題ありません)。サイドバーの固定位置を維持しながら、サイドバーとコンテンツを中央に配置できませんでした。
ありがとう!
更新:ここに私が探しているものの非常に大まかな概略図があります:
|A|B|C|D|
B は最大幅 49em のコンテンツ領域です。C は最大幅が 21em のサイドバーであり、位置を固定する必要があります。A と D は余白になります (ビューポート幅と 70em の差の半分ずつ)。D の背景は、サイドバーと同じ色 (灰色) にする必要があります。A の背景は白でなければなりません。