Auszeichnungssprache – CSS-Stil für Webanwendungen

Auszeichnungssprache – CSS-Stil für Webanwendungen
Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“ von 123WORDPRESS.COM zurückzukehren. Um das CSS-Tutorial anzuzeigen, klicken Sie hier.
Oben: Auszeichnungssprache – optimierte Tags . Kapitel 10 Anwenden von CSS
Im ersten Teil liegt der Schwerpunkt auf Beispielen für Markup-Syntax. Außerdem untersuchen wir, wie man CSS auf Tags anwendet, um Stildetails zu gestalten und anzugeben. Im zweiten Kapitel besprechen wir verschiedene Möglichkeiten, CSS auf ein Dokument, eine Website oder sogar ein einzelnes Tag anzuwenden. Darüber hinaus besprechen wir, wie man CSS-Inhalte aus früheren Browserversionen ausblendet, sodass wir erweiterte Techniken verwenden können, ohne die Markup-Struktur zu beeinträchtigen, die von allen Browsern und Geräten gelesen werden kann.
In der Einheit „Erweiterte Fähigkeiten“ am Ende des Kapitels zeigen wir Ihnen, wie Sie Schriftarten und Farben ändern und mehrere Designs erstellen können, ohne Skripte zu schreiben – indem Sie Stylesheets ersetzen. Wie wende ich CSS auf eine Datei an?
Wir werden nun vier verschiedene Möglichkeiten untersuchen, CSS auf Ihr Dokument anzuwenden. Jede Methode hat ihre eigenen Vor- und Nachteile und kann je nach Situation die beste Wahl sein. Jede hier gezeigte Methode verwendet die gültige XHTML 1.0-Transitional-Syntax, das <html>-Tag und die <head>-Konfiguration.
Beginnen wir mit Methode A. Methode A: <style>-Tag

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<Kopf>
<meta http-equiv="Inhaltstyp" Inhalt="text/html; Zeichensatz=utf-8" />
<title>CSS anwenden</title>
<style type="text/css">
<![CDATA[
...Hier kommen CSS-Deklarationen hin...
]]>
</Stil>
</Kopf>

Dieser Ansatz wird auch Inline-Stylesheets genannt und ermöglicht es, alle CSS-Deklarationen direkt in die (X)HTML-Datei zu schreiben. Der <style>-Tag befindet sich im <head> der Seite und kann alle gewünschten Styles enthalten.
Die Angabe von text/css für das Typattribut stellt sicher, dass der Browser die von uns verwendete Stilsprache versteht und nicht weggelassen werden kann. Wir verwenden auch die vom W3C empfohlene CDATA-Kommentarsyntax, um diesen Inhalt vor Browsern zu verbergen, die mit Stilregeln nicht umgehen können (http://www.w3.org/TR/xhtml1/#h-4.8).
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3s::::::333:33333333333333333333ag33333333333333333333333333333 es333333333333333333333333333333 es33 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann dann dann dann aber33333333333333333333 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 dann3 dann3 aber3 dann3 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann nichtie dasen aber aber abersossoss aberstens aberstensss aberten aber abers :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3s::::::333:33333333333333333333ag33333333333333333333333333333 es333333333333333333333333333333 es33 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann dann dann dann aber33333333333333333333 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 dann3 dann3 aber3 dann3 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann nichtie dasen aber aber abersossoss aberstens aberstensss aberten aber abers :::::::::::

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<Kopf>
<meta http-equiv="Inhaltstyp" Inhalt="text/html; Zeichensatz=utf-8" />
<title>CSS anwenden</title>
<link rel="stylesheet" type="text/css" href="styles.css" _fcksavedurl=""styles.css"" />
</Kopf>

Methode B zeigt, wie auf ein externes Stylesheet verwiesen wird: Fügen Sie alle CSS-Deklarationen in ein separates Dokument ein und referenzieren Sie dessen Inhalt dann mit dem Tag <link> im (X)HTML-<head>.
Wir geben den Speicherort des Dokuments mit dem href-Attribut an, das ein relativer Pfad (wie im obigen Beispiel) oder ein absoluter Pfad sein kann (geben Sie den vollständigen „http://“-Speicherort des Stylesheets ein). Beachten Sie auch, dass <link> ein einzelnes Tag oder ein leeres Tag ist und am Ende mit einem / abgeschlossen werden muss. Separate Dokumente = einfache Wartung Es gibt einen offensichtlichen Vorteil, alle CSS-Regeln in einer Datei zu speichern, die vom Markup-Inhalt getrennt ist: Alle Stiländerungen für die gesamte Website können in dieser Datei vorgenommen werden, ohne die CSS-Deklaration für jede Seite wie bei Methode A wiederholen zu müssen.
Dies ist natürlich bei großen Websites von entscheidender Bedeutung, da Hunderte oder sogar Tausende von Seiten in einem einzigen Dokument dieselben Stile verwenden können. Ein weiterer Vorteil des Herunterladens eines verknüpften externen Stylesheets besteht darin, dass das Dokument normalerweise nur einmal heruntergeladen wird und der Browser anschließend den Cache verwendet, wodurch die erforderliche Downloadzeit beim wiederholten Anzeigen derselben Seite oder anderer Seiten, die auf dasselbe Stylesheet verweisen, gespart wird. Immer noch nicht vollständig verborgen Wie Methode A wird auch Methode B wahrscheinlich immer noch von alten Browsern interpretiert, die nur teilweise CSS-Funktionen unterstützen, und alle für die neuesten Browser entwickelten Stile können in Browsern, die diese nicht unterstützen, Chaos verursachen.
Hmm... das ist das zweite Mal, dass ich dieses Problem erwähne, die nächste Methode muss es doch lösen, oder? Methode C: @import

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<Kopf>
<meta http-equiv="Inhaltstyp" Inhalt="text/html; Zeichensatz=utf-8" />
<title>CSS anwenden</title>
<style type="text/css">
<![CDATA[
@import "styles.css";
]]>
</Stil>
</Kopf>

Ähnlich wie bei Methode B können Sie mit @import CSS-Definitionen aus externen Dateien importieren, indem Sie entweder relative Pfade (wie im obigen Beispiel) oder absolute Pfade verwenden.
Methode C hat dieselben Vorteile wie die Verwendung des <link>-Tags. Da das Stylesheet in einem externen Dokument platziert wird, kann das Ändern und Aktualisieren eines einzelnen Dokuments die gesamte Website ändern, und dies ist einfach und schnell möglich. Das externe Stylesheet wird vom Browser zwischengespeichert, wodurch Downloadzeit für alle Seiten gespart wird, die dasselbe Stylesheet importieren. Versteckspiel Der Hauptvorteil der Verwendung von Methode C besteht darin, dass Netscape-Versionen unter 4.X die @import-Syntax nicht unterstützen, sodass der referenzierte CSS-Inhalt „versteckt“ wird. Dies ist definitiv eine nützliche Technik, da wir damit erweiterte CSS-Syntax schreiben können, um Designdetails wie das Layout zu handhaben, sodass die neuesten Browser, die damit umgehen können, sie anzeigen können, während alte Browser diese Syntax ignorieren können.
Das Problem mit Netscape 4.x besteht darin, dass es denkt, seine CSS-Unterstützung sei so gut wie die Browser, die sie tatsächlich unterstützen. Daher überlassen wir es, mit Ausnahme von Netscape 4.x, dem Browser selbst, ob er den richtigen Effekt anzeigt.
Dies ist der entscheidende Punkt beim Entwerfen einer Website mit Standards. Versuchen Sie, den strukturellen Markup-Code vom Anzeigemodus zu trennen und stellen Sie Layoutdetails und andere Stile für unterstützte Browser bereit. Ältere Browser können den strukturellen Inhalt problemlos lesen und anzeigen, verarbeiten jedoch die für sie verborgenen erweiterten CSS-Regeln nicht. Schalten Sie den Stil ein und aus. Sehen Sie sich Abbildung 10-1 und 10-2 an und vergleichen Sie sie. Dies ist meine persönliche Website, die vollständiges CSS verwendet. Dann habe ich den Anzeigeeffekt von CSS ausgeschaltet (der dem Anzeigeeffekt alter Browser sehr nahe kommen sollte). Die Struktur ohne CSS ist immer noch sehr offensichtlich und für jeden leicht zu lesen und zu verwenden. Wenn wir das zur Anzeige des Layouts erforderliche CSS nicht verbergen, erhalten Benutzer alter Browserversionen möglicherweise ein Durcheinander von Inhalten, die schwer zu lesen sind.

Abbildung 10-1 Meine persönliche Website mit CSS

Abbildung 10-2 Dieselbe Seite ohne CSS wird in einem alten Browser möglicherweise so angezeigt. Kombination von Methode B und Methode C zum Anwenden mehrerer Stylesheets Manchmal ist es sinnvoll, viele untergeordnete Stylesheets in ein Dokument aufzunehmen. Sie können zum Beispiel alle Layoutregeln in ein Dokument und die Schrifteinstellungen in ein anderes Dokument packen. Bei großen, komplexen Designs kann dies die Verwaltung einer großen Zahl von Regeln erleichtern. Chamäleon-Effekt Als ich an der Website des Magazins Fast Company arbeitete, wollte ich die Farben der Website jeden Monat ändern, damit sie zum Titelbild der aktuellen Ausgabe des Magazins passen. Um regelmäßige Änderungen zu vereinfachen, habe ich alle farbbezogenen CSS-Regeln in ein Dokument gepackt und andere Regeln, die nicht jeden Monat geändert werden sollten, in ein anderes Dokument.
Es ist viel einfacher und schneller, jeden Monat alle Farben abzudecken, ohne in den Hunderten anderer Regeln, aus denen das Design besteht, langsam den zu ändernden Inhalt finden zu müssen. Ändern Sie einfach dieses Dokument und die Farbe der gesamten Website wird sofort geändert. Wie geht das? Kombinieren Sie Methode B und Methode C, um mehrere Stylesheets einzuführen. Die Methode besteht darin, das <link>-Tag im <head> der Seite zu verwenden, um auf das CSS-Hauptdokument zu verweisen, genau wie bei der Demonstration von Methode B, Link zu styles.css.
Der Inhalt von styles.css enthält lediglich einige @import-Regeln, um bei Bedarf andere CSS-Dateien zu importieren.
Wenn Sie beispielsweise drei Stylesheets importieren möchten, eines für das Layout, eines für Schriftarten und eines für Farben, dann könnte der Inhalt von styles.css folgendermaßen aussehen:

/*Alte Browser verstehen diese Importregeln nicht*/
@import url("layout.css");
@import url("Schriftarten.css");
@import url("farben.css");

Auf diese Weise können Sie auf der gesamten Site dasselbe <link>-Tag verwenden und dabei nur auf die Datei styles.css verweisen. Dieses Dokument kann mithilfe der @import-Regel weiterhin andere Stylesheets importieren. Neue Stylesheets können diesem Dokument hinzugefügt werden und funktionieren dann auf der gesamten Site.
Dies macht es sehr einfach, CSS zu aktualisieren und zu ersetzen. Wenn Sie beispielsweise Ihr CSS später plötzlich in 4 Dateien aufteilen möchten, müssen Sie nur die @import-Regel dieses Dokuments ändern, ohne den gesamten XHTML-Markup-Quellcode ändern zu müssen. Wenn Sie CSS vor älteren Browsern mit der @import-Regel der Methode C verbergen möchten, können Sie einen weiteren Trick anwenden. Dabei verwenden Sie den CSS-Kaskadeneffekt, verwenden Methode A oder Methode B, um den Lo-Fi-Effekt bereitzustellen, der sowohl von alten als auch von neuen Browsern unterstützt wird, und verwenden dann @import, um erweiterte Effekte für andere unterstützte Browser bereitzustellen.
Ältere Browser erhalten nur die Inhalte, die sie unterstützen, während neuere Browser alle gewünschten Stile erhalten.
Schauen wir uns als Nächstes an, wie der Code für diese Technik aussieht:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<Kopf>
<meta http-equiv="Inhaltstyp" Inhalt="text/html; Zeichensatz=utf-8" />
<title>CSS anwenden</title>
<link rel="stylesheet" type="text/css" href="lofi.css" _fcksavedurl=""lofi.css"" />
<style type="text/css">
@import "hifi.css";
</Stil>
</Kopf>

Hier sollte lofi.css grundlegende CSS-Regeln wie Linkfarbe und Schriftgröße enthalten, während hifi.css erweiterte Regeln wie Layout, Positionierung, Hintergrundbilder usw. enthalten sollte.
Wir können sowohl Lo-Fi- als auch Hi-Fi-Versionen der Stile bereitstellen, ohne Skripte oder andere Methoden zum Identifizieren der Browserversion auf der Serverseite schreiben zu müssen. Reihenfolge ist wichtig Die Reihenfolge, in der die <link>- und <style>-Tags im Markup-Quellcode angegeben werden, ist wichtig. Die CSS-Kaskade bezieht sich auf die Priorität von Regeln, die durch die Reihenfolge bestimmt wird, in der sie erscheinen.
Da die meisten aktuellen Browser beispielsweise beide Ansätze unterstützen, laden sie alle Stylesheets herunter und wenden alle darin enthaltenen Stile an. Zu diesem Zeitpunkt überschreiben die Stilregeln in hifi.css die von lofi.css angegebenen Stile für dasselbe Tag. Warum? Weil hifi.css in der Markup-Quelle nach lofi.css erscheint.
Alte Browser ignorieren hifi.css, da sie @import-Regeln nicht unterstützen. Daher verwenden sie nur die in lofi.css definierten Stile. Nutzen Sie die Cascading-Funktion. Nutzen Sie die CSS-Cascading-Funktion auf verschiedene Weise. Wenn Ihre gesamte Website beispielsweise ein externes CSS für Layout, Positionierung, Schriftarten, Farben usw. verwendet, sollten Sie dieses Stylesheet auf jeder Seite @importieren, um diese Regeln vor alten Browsern zu verbergen.
Wenn Sie auf Ihrer Website eine Seite haben, deren Layout- und Positionierungseinstellungen Sie teilen möchten, aber Schriftarten oder Farben anpassen müssen. Auf dieser Seite (die sich von anderen Seiten auf der Website unterscheidet) können Sie weiterhin das CSS-Hauptdokument importieren. Nach Abschluss des Imports importieren wir sofort ein zweites CSS-Dokument, das spezielle Stile für diese Seite definiert. Alle Regeln in der zweiten CSS-Datei haben Vorrang und überschreiben die in der ersten CSS-Datei für dasselbe Tag angegebenen Stilregeln.
Schauen wir uns ein Beispiel an. Die Datei master.css enthält die gesamte Website-Struktur, Schriftarten und andere CSS-Regeln, während die Datei custom.css nur auf einer bestimmten Seite referenziert wird und die Stileinstellungen mehrerer spezieller Tags überschreibt.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<Kopf>
<meta http-equiv="Inhaltstyp" Inhalt="text/html; Zeichensatz=utf-8" />
<title>CSS anwenden</title>
<style type="text/css">
@import "master.css";
@import "benutzerdefiniert.css";
</Stil>
</Kopf>

Da custom.css an zweiter Stelle im Markup-Quellcode erscheint, überschreiben die darin für dasselbe Tag angegebenen Stile die in master.css angegebenen Stile.
Angenommen, wir verlangen in main.css, dass für das Tag <h1> eine Schriftart mit roten Serifen und für das Tag <h2> eine Schriftart mit blauen Serifen verwendet wird.

h1 {
Schriftfamilie: Georgia, Serifen;
Farbe: rot;
}
h2 {
Schriftfamilie: Georgia, Serifen;
Farbe: blau;
}

Auf einer bestimmten Seite möchten wir nur die Stileinstellungen des Tags <h1> ändern und den Stil von <h2> verwenden. Dann müssen wir in custom.css nur einen neuen Stil für <h1> deklarieren.

h1 {
Schriftfamilie: Verdana, serifenlos;
Farbe: orange;
}

Diese Deklaration überschreibt die Deklaration in master.css (weil custom.css danach importiert wird). Wenn die Seite zuerst master.css und dann custom.css importiert, verwendet das <h1>-Tag die orangefarbene Verdana-Schriftart, während das <h2>-Tag weiterhin die blaue Serifenschriftart verwendet. Dies liegt daran, dass die letztere Deklaration in master.css nicht von custom.css überschrieben wird.
Die CSS-Kaskade ist ein großartiges Tool zum Teilen gängiger Stile, da Sie damit nur die Regeln überschreiben können, die geändert werden müssen.
Methode D: Inline-Stile

<h1 style="font-family: Georgia, serif; color: orange;">Dies ist ein Titel</h1>

Dies ist die vierte CSS-Anwendungsmethode, mit der wir in Berührung gekommen sind – Inline-Style. Fast jedem Tag kann ein Style-Attribut hinzugefügt werden, sodass Sie CSS-Style-Regeln direkt auf den Tag anwenden können, genau wie im obigen Beispiel.
Da sich Inline-Stile am unteren Ende der Kaskade befinden, überschreiben sie alle externen Stildeklarationen sowie die im <style>-Tag im <head> deklarierten Regeln.
Dies ist eine einfache Möglichkeit, überall auf der Seite Stile hinzuzufügen, hat jedoch ihren Preis. Stile sind an Tags gebunden. Wenn Sie sich beim Stylen Ihrer Seite zu sehr auf Methode D verlassen, können Sie den Inhalt nicht von der Präsentation trennen. Wenn Sie zurückgehen und ihn ändern, müssen Sie sich in den Markup-Quellcode einarbeiten. Wenn Sie das CSS in eine separate Datei einfügen, ist es viel einfacher zu verwalten.
Der Missbrauch von Methode D unterscheidet sich nicht vom Verunreinigen des Markup-Quellcodes mit Anzeige-Tags wie <font>. Diese Designdetails sollten immer woanders platziert werden. Verwenden Sie sie in realen Situationen mit Vorsicht. Natürlich gibt es Möglichkeiten, Inline-Stile zu verwenden. Wenn Sie einer Seite Stile hinzufügen müssen, aber nicht auf externe Dateien zugreifen oder den <head> ändern können, kann dies Ihr Leben retten oder Stile vorübergehend anwenden, wenn Sie nicht vorhaben, sie mit anderen Tags zu teilen.
Wenn Ihre Site beispielsweise eine Seite enthält, auf der ein Wohltätigkeitsverkauf angekündigt wird und die später entfernt wird, und Sie dieser Seite ein einzigartiges Design verleihen möchten, können Sie diese Stilregeln in die Auszeichnung einbetten, anstatt sie einem permanenten Stylesheet hinzuzufügen.
Lassen Sie es uns tun, aber beachten Sie, dass diese Stile nicht einfach geändert oder auf die gesamte Site angewendet werden können.
Vorherige Seite 1 2 3 Nächste Seite Mehr lesen

<<:  Zusammenfassung mehrerer Fehlerprotokolle zum Einrichten und Wechseln von MySQL MHA

>>:  Ideen und Codes zur Realisierung des Lupeneffekts in js

Artikel empfehlen

Untersuchung der Eingabetastenfunktion vom Typ „Datei“

<br />Beim Hochladen auf manchen Websites wi...

Installieren Sie mysql5.7.13 mit RPM in CentOS 7

0. Umwelt Betriebssystem für diesen Artikel: Cent...

Detailliertes Tutorial zur Installation von Docker unter Windows

Da meine lokale MySQL-Version relativ niedrig ist...

Detaillierte Erläuterung der ersten Erfahrungen mit Vue3.0 + TypeScript + Vite

Inhaltsverzeichnis Projekterstellung Projektstruk...

Implementierung der automatischen Konstruktionsweiterleitung von React

Inhaltsverzeichnis Sequenz 1. Zentralisiertes Rou...

So konfigurieren Sie MySQL8 in Nacos

1. Erstellen Sie die MySQL-Datenbank nacos_config...