Lernen Sie CSS-Layout? Können Sie das reine CSS-Layout immer noch nicht vollständig beherrschen? Normalerweise gibt es zwei Situationen, die Ihr Lernen behindern:
Die erste Möglichkeit besteht darin, dass Sie das Prinzip der CSS-Seitenverarbeitung nicht verstanden haben. Bevor Sie die Gesamtleistung Ihrer Seite berücksichtigen, sollten Sie zunächst die Semantik und Struktur des Inhalts berücksichtigen und dann CSS für die Semantik und Struktur hinzufügen. In diesem Artikel erfahren Sie, wie Sie HTML strukturieren.
Ein weiterer Grund ist, dass Ihnen die sehr vertrauten Eigenschaften der Präsentationsebene (z. B. cellpadding, hspace, align=left usw.) fehlen und Sie nicht wissen, in welche CSS-Anweisungen Sie sie konvertieren sollen. Sobald Sie das erste Problem gelöst haben und wissen, wie Sie Ihren HTML-Code strukturieren, gebe ich Ihnen eine Liste mit detaillierten Angaben darüber, welches CSS Sie verwenden sollten, um die ursprünglichen Präsentationsattribute zu ersetzen.
Strukturiertes HTML
Wenn wir zum ersten Mal lernen, eine Webseite zu erstellen, überlegen wir immer zuerst, wie wir sie gestalten sollen, und berücksichtigen dabei die Bilder, Schriftarten, Farben und Layoutpläne. Dann zeichnen wir es mit Photoshop oder Fireworks und schneiden es in kleine Bilder. Bearbeiten Sie abschließend den HTML-Code, um alle Designs auf der Seite wiederherzustellen.
Wenn Sie möchten, dass Ihre HTML-Seite mit CSS (CSS-freundlich) gestaltet wird, müssen Sie noch einmal von vorne beginnen. Denken Sie nicht zuerst an das „Erscheinungsbild“, sondern zuerst an die Semantik und Struktur Ihres Seiteninhalts.
Das Aussehen ist nicht das Wichtigste. Eine gut strukturierte HTML-Seite kann in jedem Erscheinungsbild dargestellt werden, und CSS Zen Garden ist ein klassisches Beispiel. CSS Zen Garden hilft uns, endlich die Leistungsfähigkeit von CSS zu erkennen.
HTML dient nicht nur zum Lesen auf einem Computerbildschirm. Ihre sorgfältig in Photoshop gestalteten Bilder werden möglicherweise nicht auf PDAs, Mobiltelefonen und Bildschirmleseprogrammen angezeigt. Aber eine gut strukturierte HTML-Seite kann durch verschiedene CSS-Definitionen überall und auf jedem Netzwerkgerät angezeigt werden.
Fang an zu denken
Beginnen Sie damit, zu lernen, was Struktur ist, die manche Autoren auch Semantik nennen. Dieser Begriff bedeutet, dass Sie Ihre Inhaltsblöcke und den Zweck, dem jeder Inhalt dient, analysieren und dann die entsprechende HTML-Struktur basierend auf diesen Inhaltszwecken erstellen müssen.
Wenn Sie sich hinsetzen und Ihre Seitenstruktur sorgfältig analysieren und planen, könnten Sie am Ende auf ein paar Teile wie diese stoßen:
Logo und Site-NameHauptseiteninhalt
Site-Navigation (Hauptmenü)
Untermenü
Suchfeld
Multifunktionsleiste (z. B. Warenkorb, Kasse)
Fußzeile (Urheberrecht und zugehörige rechtliche Hinweise)
Normalerweise verwenden wir DIV-Elemente, um diese Strukturen zu definieren, ähnlich wie hier:
<div id=header></div>
<div id=content></div>
<div id=globalnav></div>
<div id=subnav></div>
<div id=search></div>
<div id=shop></div>
<div id=footer></div>
Es ist nicht das Layout, es ist die Struktur. Dies ist eine semantische Beschreibung von Inhaltsblöcken. Wenn Sie Ihre Struktur verstanden haben, können Sie die entsprechende ID zum DIV hinzufügen. Jeder Inhaltsblock kann in einem DIV-Container enthalten sein und ein anderer DIV kann darin verschachtelt sein. Inhaltsblöcke können jedes HTML-Element enthalten – Titel, Absätze, Bilder, Tabellen, Listen usw.
Basierend auf dem oben Gesagten wissen Sie bereits, wie man HTML strukturiert, und können nun Layout und Stile definieren. Jeder Inhaltsblock kann an einer beliebigen Stelle auf der Seite platziert werden und Farbe, Schriftart, Rahmen, Hintergrund, Ausrichtungseigenschaften usw. des Blocks können angegeben werden.
Die Verwendung von Selektoren ist eine wunderbare Sache
Der Name der ID ist ein Mittel zur Steuerung eines bestimmten Inhaltsblocks mit einem DIV und dem Hinzufügen einer eindeutigen ID. Mithilfe von CSS-Selektoren können Sie das Erscheinungsbild jedes Seitenelements, einschließlich Titel, Listen und Bilder, genau definieren , Links oder Absätze usw. Wenn Sie beispielsweise eine CSS-Regel für #header schreiben, kann diese völlig anders sein als die Bildregel in #content.
Ein weiteres Beispiel: Sie können unterschiedliche Regeln verwenden, um Link-Stile in verschiedenen Inhaltsblöcken zu definieren. Etwa so: #globalnav a:link oder #subnav a:link oder #content a:link. Sie können auch unterschiedliche Stile für dasselbe Element in verschiedenen Inhaltsblöcken definieren. Definieren Sie beispielsweise die Stile von p in #content bzw. #footer durch #content p und #footer p. Strukturell gesehen besteht Ihre Seite aus Bildern, Links, Listen, Absätzen usw. Diese Elemente selbst haben keinen Einfluss darauf, auf welchem Netzwerkgerät sie angezeigt werden (PDA, Mobiltelefon oder Internet-TV). Sie können als beliebiges Erscheinungsbild definiert werden.
Eine sorgfältig strukturierte HTML-Seite ist sehr einfach und jedes Element dient strukturellen Zwecken. Wenn Sie einen Absatz einrücken möchten, müssen Sie das Blockquote-Tag nicht verwenden. Verwenden Sie einfach das p-Tag und fügen Sie eine CSS-Randregel zu p hinzu, um den Einrückungszweck zu erreichen. p ist ein strukturiertes Tag und margin ist ein Präsentationsattribut. Ersteres gehört zu HTML und letzteres zu CSS. (Dies ist die Trennung von Struktur und Ausdruck.)
Gut strukturierte HTML-Seiten haben fast keine Attribut-Tags. Der Code ist sehr sauber und prägnant. Beispielsweise kann der ursprüngliche Code <table width=80% cellpadding=3 border=2 align=left> nur noch <table> in HTML schreiben, und alle Dinge, die die Leistung steuern, werden in CSS in strukturiertem HTML geschrieben ist eine Tabelle, nichts anderes (z. B. für Layout und Positionierung).
Üben Sie, sich selbst zu strukturieren
Das Obige ist nur die grundlegendste Struktur. In der tatsächlichen Anwendung können Sie die Inhaltsblöcke entsprechend Ihren Anforderungen anpassen. DIV-Verschachtelung kommt häufig vor, und Sie werden sehen, dass es in der Containerschicht weitere Ebenen mit einer ähnlichen Struktur gibt:
<div id=navcontainer>
<div id=globalnav>
<ul>eine Liste</ul>
</div>
<div id=subnav>
<ul>eine andere Liste</ul>
</div>
</div>
Mit verschachtelten div-Elementen können Sie weitere CSS-Regeln definieren, um die Darstellung zu steuern. Sie können beispielsweise #navcontainer eine Regel geben, um die Liste nach rechts zu zentrieren, #globalnav eine Regel, um die Liste nach links zu zentrieren, und #subnav eine weitere geben Regel, um die Liste vollständig zu zentrieren.