Da die Monitore der Benutzer heute immer größer werden, ist das bisherige 1024*768-Vollbild-Layout immer veralteter. Für Benutzer mit großen Bildschirmen vermittelt der leere Raum auf beiden Seiten auf den ersten Blick einen seriösen Eindruck Verschwendung, als Webdesigner haben Sie die Verantwortung, dieser Benutzergruppe eine gute Benutzeroberfläche zu bieten.
Um diese Bildschirmverschwendung zu reduzieren, ist die Verwendung eines elastischen Fluid-Layouts natürlich die beste Lösung. Es kann den Bildschirmraum voll ausnutzen und Inhalte unabhängig von der Auflösung im Vollbildmodus anzeigen. Aufgrund verschiedener Einschränkungen sind aktuelle Webseiten jedoch noch nicht bereit, ein flexibles, elastisches Layout vollständig zu übernehmen (insbesondere die mutwillige Missachtung von Standards durch Browserhersteller und die unvollständige Unterstützung von CSS-Standards usw.). Als Vermittler zwischen Anwendern und Herstellern können wir uns nur mit einer kompatiblen Mentalität auf die Kluft zwischen beiden einstellen. Daher gibt es als Übergangslösung ein solches Layout: elastisches + Layout mit fester Breite.
Die hier erwähnte Elastizität bedeutet, dass sich der Hintergrund an die Bildschirmbreite anpasst, während die feste Breite bedeutet, dass der Textinhalt entweder im Breitbild- oder im Schmalbildformat automatisch zentriert werden kann. Überleben Sie in den Rissen, um den Anforderungen von Benutzern mit unterschiedlichen Größenauflösungen gerecht zu werden. Das unten gezeigte Design ist ein typisches Beispiel.
Kommen wir ohne weitere Umschweife zur Sache. Erstellen wir eine Layoutstruktur wie diese.
Erstellen Sie zunächst die Strukturebene:
<div id="wrapper"> <div id="main" class="clearfix"> <div id="header"> <div id="inheader"></div> </div> <div id="content"></div> </div> </div> <div id="footer"> <div id="infoot"></div> </div> |
Analysieren Sie die Strukturebene. Eine Webseite besteht im Allgemeinen aus drei Teilen: Kopfzeile, Inhaltsbereich und Fußzeile. Wir platzieren die Kopfzeile und den Inhalt in einer Containerebene, die als Wrapper bezeichnet wird. Warum ist es so gestaltet? Wir möchten, dass diese Fußzeile ganz unten steht, auch wenn der Inhaltsbereich weniger als einen Bildschirm umfasst.
Wir setzen die Breite der beiden Container Wrapper und Footer auf 100 %, sodass sie sich automatisch an die Breite des Bildschirms anpassen. Stellen Sie außerdem den Kopfbereich auf 100 % Breite ein. Auf diese Weise können wir ein horizontal kachelbares Bild in die Kopf- und Fußzeile einfügen, sodass der Hintergrund der Kopf- und Fußzeile auf einem großen Bildschirm den gesamten Bildschirmbereich horizontal ausfüllen kann.
Was den Haupttextinhalt betrifft, so besteht unser allgemeiner Ansatz darin, ihn bei größerer Auflösung in der Mitte anzuzeigen und auf beiden Seiten Leerraum zu lassen. Da der Header-Bereich auf 100 % Breite eingestellt wurde, fügen wir dem Header eine weitere Containerebene hinzu, die als Träger des eigentlichen Header-Textinhalts dient. Anschließend legen wir einen festen Breitenwert fest, beispielsweise 960 Pixel und lass es sich zentrieren.
#inheader{width:960px;height:110px; margin:0 auto; } |
Auf diese Weise schwebt der Haupttext des Seitenkopfes auf der oberen Ebene des Kopfzeilenelements. Diese beiden Ebenen können mit unterschiedlichen Hintergrundbildern versehen werden Header-Effekt, der eine größere Bildschirmauflösung automatisch anpassen kann.
Ebenso lässt sich mit dieser Methode auch der Footer umsetzen.
In der Strukturebene oben habe ich diese Methode im mittleren Inhaltsbereich nicht verwendet, sondern eine kleine Änderung vorgenommen. Wir können sehen, dass es im Inhaltsbereich keinen eingebetteten Container gibt, sondern nur einen Container. Was sollen wir tun, wenn wir verhindern möchten, dass die beiden Seiten des Textes bei hoher Auflösung leer erscheinen? Natürlich können Sie die Kopf- und Fußzeilenmethoden verwenden und dem Inhalt ein Div hinzufügen. Um die Verschachtelung zu reduzieren, können wir natürlich Problemumgehungen verwenden. Wir können dem Hintergrund des Körpers ein sehr großes Bild hinzufügen und die Hintergrundposition verwenden, um das Bild so zu positionieren und zu zentrieren, dass die Bilder auf beiden Seiten des Inhaltsbereichs angezeigt werden.
Bei diesem Blog handelt es sich um einen Sonderfall. Wenn man sich die Bilder auf beiden Seiten dieses Blogs in hoher Auflösung ansieht und dann das Fenster verkleinert, sieht man, dass nur ein kleiner Bereich der Bilder auf beiden Seiten mit 1024* angezeigt wird. 768, während der Haupttext immer in der Mitte angezeigt wird.
Um den Effekt zu demonstrieren, fügen wir einige weitere Farbanpassungen hinzu. Der endgültige Stil sieht wie folgt aus:
*{margin:0;padding:0;} html, body, #wrapper {height: 100%;font-size:12px;} #wrapper{width:100%;background:#777;} body > #wrapper {height:auto; min-height:100%;} #main {padding-bottom: 54px;min-width:960px;}/* Muss dieselbe Höhe wie die Fußzeile verwenden. Die Mindestbreite kann durch Hinzufügen von JS in ie6 gelöst werden*/ #header{text-align:center;color:#fff;background:#333;} #inheader{width:960px;height:110px;line-height:110px;margin:0 auto;background:#CC9933;} h3{font-size:14px;line-height:50px;} #inheader p{font-size:12px;line-height:30px;} #footer { Position: relativ; margin-top: -54px; /* Negativer Wert der Fußzeilenhöhe*/ Höhe: 54px;/* Fußzeilenhöhe*/ Breite: 100 %; min-width:960px;/*Die Mindestbreite wird durch Hinzufügen von JS in ie6 gelöst*/ klar:beide; Hintergrund:#666; text-align:center; Farbe:#fff; } #infoot{height:54px;line-height:54px;width:960px;margin:0 auto;background:#CC9966;} #footer p{line-height:26px;} #content{background:#999;width:960px;margin:0 auto;height:692px;} #content p{line-height:30px;padding:0 30px;color:#fff;} /*Hinweis: Zu beachten ist, dass der Füllwert von #main, die Höhe der Fußzeile und der negative Randwert konsistent sein müssen. Das Folgende ist der berühmte universelle Schwimmerverschluss Clearfix Hack*/ .clearfix:after { Inhalt: "."; Anzeige: Block; Höhe: 0; klar: beides; Sichtbarkeit: versteckt;} .clearfix {display: inline-block;} /* Versteckt sich vor IE-Mac */ * html .clearfix { Höhe: 1 %;} .clearfix {display: block;} /* Ausblenden vor IE-Mac beenden */ |