現在、ユーザーのモニターがますます大型化しているため、以前の 1024*768 の横幅のレイアウトは、大きな画面を使用するユーザーにとって、一見したところ画面の両側に空きスペースがあると、ますます時代遅れになりつつあります。無駄です。Web デザイナーとして、このグループのユーザーに優れたユーザー インターフェイスを提供する責任があります。
もちろん、この画面の無駄を減らすには、画面スペースを最大限に活用し、解像度に関係なくコンテンツを全画面に表示できる弾性流体レイアウトを使用することが最善の解決策です。しかし、さまざまな制限のため、現在の Web ページはまだ、流動的で弾力性のあるレイアウトを完全に採用する準備ができていません (特にブラウザー メーカーによる標準の無分別な踏みつけや CSS 標準の不完全なサポートなど)。ユーザーとメーカーの間の仲介者として、私たちは両者のギャップに適合する精神でしか対応できません。そこで、過渡的な解決策として、エラスティック + 固定幅レイアウトというレイアウトがあります。
ここで言う弾力性とは、背景が画面の幅に適応することを意味し、固定幅とは、ワイドスクリーンでもナロースクリーンでもテキストコンテンツを自動的に中央に配置できることを意味します。さまざまなサイズ解像度のユーザーのニーズを満たすために、亀裂の中でも生き残ります。以下に示すデザインは代表的な例です。
早速、このようなレイアウト構造を作成してみましょう。
まず構造層を構築します。
<div id="ラッパー"> <div id="main" class="clearfix"> <div id="ヘッダー"> <div id="inheader"></div> </div> <div id="コンテンツ"></div> </div> </div> <div id="フッター"> <div id="インフット"></div> </div> |
構造レイヤーを分析します。Web ページには通常、ヘッダー、コンテンツ領域、フッターという 3 つの部分が含まれます。ヘッダーとコンテンツはラッパーと呼ばれるコンテナー レイヤーに配置され、フッターはラッパーと呼ばれます。なぜこのように設計されているのでしょうか? コンテンツ領域が 1 画面に満たない場合でも、このフッターを必ず下部に配置したいのです。
ラッパーとフッターの 2 つのコンテナーの幅を 100% に設定し、画面の幅に自動的に適応するようにします。また、ヘッダー領域の幅を 100% に設定します。このようにして、ヘッダーとフッターに水平方向に並べて配置できる画像を挿入することができ、大きな画面でヘッダーとフッターの背景が画面スペース全体を水平方向に埋めることができます。
本文の内容については、解像度が高くなると中央に表示し、両側に余白を残すのが一般的な考え方です。ヘッダー領域は 100% の幅に設定されているため、ヘッダーに別のコンテナー レイヤーのインヘッダーを追加します。これは、実際のヘッダー テキスト コンテンツのキャリアとして機能し、960 ピクセルなどの固定幅値を設定します。そしてそれを中心に置きます。
#inheader{width:960px;height:110px; margin:0 auto; } |
このようにして、ページ ヘッダーのメイン テキストをヘッダーの上位レイヤーに配置して、オーバーレイを形成できます。ヘッダー効果。大きな画面解像度を自動的に調整できます。
同様に、フッターもこのメソッドを使用して実装できます。
上の構造レイヤーでは、中央のコンテンツ領域ではこのメソッドを使用しませんでしたが、少し変更を加えました。コンテンツ領域には埋め込まれたコンテナがなく、コンテナが 1 つだけあることがわかります。高解像度でテキストの両側が空にならないようにしたい場合はどうすればよいでしょうか? もちろん、ヘッダー メソッドとフッター メソッドを使用して、コンテンツに div を追加することもできます。もちろん、ネストを減らすために、回避策を使用できます。本文の背景に非常に大きな画像を追加し、background-position を使用して画像を配置して中央に配置し、コンテンツ領域の両側の画像が表示されるようにすることができます。
このブログはその特殊なケースですが、このブログの両側の写真を高解像度で見てからウィンドウを縮小すると、両側の写真の小さな領域だけが 1024* で表示されていることがわかります。 768、本文は常に中央に表示されます。
効果を実証するために、他の色調整を追加します。最終的なスタイルは次のとおりです。
*{マージン:0;パディング:0;} html、本文、#wrapper {高さ: 100%;フォントサイズ:12px;} #ラッパー{幅:100%;背景:#777;} body > #wrapper {高さ:自動; } #main {padding-bottom: 54px;min-width:960px;}/* フッターと同じ高さを使用する必要があります。最小幅は ie6 に JS を追加することで解決できます*/ #header{text-align:center;color:#fff;background:#333;} #inheader{幅:960px;高さ:110px;行の高さ:110px;マージン:0 自動;背景:#CC9933;} h3{フォントサイズ:14px;行の高さ:50px;} #inheader p{font-size:12px;line-height:30px;} #フッター { 位置: 相対的; margin-top: -54px; フッターの高さの負の値*/ 高さ: 54px;/* フッターの高さ*/ 幅:100%; min-width:960px;/*最小幅はie6にJSを追加することで解決します*/ クリア:両方; 背景:#666; テキスト整列:中央; 色:#fff; } #infoot{高さ:54px;行の高さ:54px;幅:960px;マージン:0 自動;背景:#CC9966;} #フッター p{行の高さ:26px;} #content{背景:#999;幅:960px;マージン:0 自動;高さ:692px;} #content p{line-height:30px;padding:0 30px;color:#fff;} /*注意: #main のパディング値、フッターの高さ、および負のマージン値は一貫している必要があることに注意する必要があります。以下は有名なユニバーサル フロート クロージャ Clearfix Hack*/ .clearfix:後 { コンテンツ: "。"; 表示: ブロック; 高さ: 0; クリア:両方。 可視性: 非表示;} .clearfix {表示: インラインブロック;} /* IE-mac からは非表示になります */ * html .clearfix { 高さ: 1%;} .clearfix {表示: ブロック;} /* IE-mac からの非表示を終了 */ |