Upline: Infos & Dokus
Programmierung
Webentwicklung
css - Cascading Stylesheet HowToLokale Stylesheet DefinitionenMan kann Stylsheets lokal innerhalb eines jeden html-Tags definieren. Zu Übungszwecken oder in Sonderfällen mag das ok sein, grundlegend ist diese interne Stylesheet-Definitionsart jedoch nicht empfehlenswert. Man verliert hierdurch die Flexibilität, die man mit projektweit definierten Stylesheets und dem dadurch einfacheren Gesamtloyout zur Verfügung hat.Um einen Stylesheet intern in einem html-Tag zu definieren, verwendet man am Beispiel des div-Tag gezeigt folgende Schreibweise: <div type="text/css" style="Eigenschaft1:Wert1;Eigenschaft2:Wert2;...> die css-Ausgabe </div>Wenn man diese Eigenschaften einmal genau betrachtet, wird man einen Zusammenhang mit der heute gängigen objektorientierten Programmierung feststellen können. Auch hier werden Objekteigenschaften genannt und diesen je nach Bedarf Werte zugewiesen. Ein Beispiel, in dem einige altbekannte html-Befehle den Wünschen entsprechend umdefiniert werden: <b type="text/css" style="font-size:8pt;color:brown"> b-Tag in braun als lokaler Stylesheet </b> <i type="text/css" style="font-size:12pt;color:red"> i-Tag in blau als lokaler Stylesheet </i> <p type="text/css" style="border:solid;border-width:1;text-align:center;font-size:8pt;color:ff0000"> p-Tag in rot als lokaler Stylesheet mit Rahmen </p>Das Ergebnis Aus dem Beispiel ist bereits ersichtlich, dass man problemlos Schriftarten, -größe und -farbe ändern kann, ebenso wie die Ausrichtung oder Rahmeneigenschaften. Auch Unterstreichungen, Fettschrift usw. sind mit Stylesheets möglich. Dies ist auch einer der Gründe, weshalb man in den xhtml-Standards Tags wie b, i, u, center und font nicht mehr vorfindet. Die damit möglichen Hervorhebungen im Layout einer Seite können auch komplett per css umgesetzt werden. Die eben erwähnten Tags werden zwar noch von allen Browsern problemlos interpretiert, laut Spezifikation ist dies bei strict-xhtml 1.1 nicht mehr vorgesehen, bei Nutzung von transitionel-html oder xhtml 1.1 ist dies jedoch auch laut css-Spezifikation kein Problem. Globale Stylesheet-DefinitionenEbenfalls direkt innherhalb einer html-Datei kann man Stylesheets auch im Kopfbereich eines Dokumentes definieren. Hiermit lassen sich bereits einige sonst wiederholt auftauchende Formatierungen zusammenfassen. Hierbei kann man bereits zwei verschiedene Varianten nutzen - zum einen ist es möglich, Eigenschaften bestimmter html-Tags übergreifend zu ändern, zum anderen kann man aber auch Definitionen nur für bestimmte Tags durchführen. Hierbei stehen Klassendefinitionen und Definitionen für Individualformate zur Verfügung. Auch eine Verschachtelung ist möglich. Die zentral im Kopfbereich festgelegten Styles werden wie folgt eingebunden:<html><head><title>Titel der Datei</title> <style type="text/css"> p{font-size:12px;color:#a000e0;} </style> </head> <body> <p>dder geänderte Absatzstil</p> </body> </html>An den folgenden kurzen Beispielen werden die unterschiedlichen Möglichkeiten der Verwendung von Klassen usw. vorgestellt:
An dieser Stelle wird auf direkte Beispiele zu den globalen Stylesheets verzichtet, da mit Hilfe der externen Stylesheetdateien auf ähnliche Weise css-Formatierungen ermöglicht werden und aus den entsprechenden Beispielen die Vorgehensweise und die Ergebnisse ebenfalls entnommen werden können. Externe Stylesheet DateiFür eine Seite, die auf all ihren Unterseiten ein einheitliches Layout bieten soll, wird man schnell einsehen, daß eine externe Stylesheet-Datei das einzig sinnvolle ist. Hiermit läßt sich das Aussehen beliebiger Objekte über nur eine Datei anpassen. Das Einbinden einer solchen Datei (hier "main.css") ist kinderleicht und mit nur einer Zeile html-Code getan:<link rel="stylesheet" type="text/css" href="main.css" />Was noch fehlt, ist der eigentliche Inhalt dieser Datei. Die einfachste Möglichkeit, ein paar Anpassungen vorzunehmen, ist es, die bestehenden html-Tags ein wenig umzudefinieren. Dazu reicht es, den html-Tag hinzuschreiben und dahinter in geschweiften Klammern die Stylesheetdefinitionen. Die Syntax hierfür ist folgende: Tag {Eigenschaft_1 : Wert_1; Eigenschaft_2 : Wert_2; ...}Zur besseren Übersicht sollte man Zeilenumbrüche nach den Semikola einfügen und auch von Leerzeichen Gebrauch machen - das ist aber Geschmackssache ;) Im folgenden sieht man ein Beispiel, wie es aus der css-Datei zu dieser Domain stammt. Es sollte eigentlich selbsterklärend sein und wer nicht weiß, was man genau mit welcher Zeile bewirkt, der probiert's halt einfach aus ;) Noch ein Hinweis: die Scrollbar-Definitionen sind eine Microsoft-Erfindung und funktionieren daher nur im IE. body { background: #f8f0ff; font-family: times; font-size: 12pt; scrollbar-arrow-color:#e8e0f4; scrollbar-track-color:#e8e0f4; scrollbar-face-color:#d0d0ff; scrollbar-highlight-color:#fff0f8; scrollbar-3dlight-color:#f8f0ff; scrollbar-darkshadow-color:#88808f; scrollbar-shadow-color:#88808f; } pre {background: #e8e0f4;font-weight: normal;font-size: 10pt} printpre {font-family: lucida console} h1 {font-family: helvetica; font-size: 20pt;text-align:left; margin-left:50px;margin-top:10px;margin-bottom:0px} h2 {font-family: helvetica; font-size: 17pt} h3 {font-family: helvetica; font-size: 14pt} h4 {font-family: helvetica; font-size: 11pt}So weit, so gut - wie man die anderen schönen Sache nutzen kann, das schreibe ich ein ander mal. Stylesheet BeispieleListenformatierung - eine ungeordnete Liste mit ul und li mit eigenem Stichpunkt-Symbol, Abstandsanpassungen und gegenüber der Umgebung kleinerer Schrift.Listenformatierung im WordPress-Stil - eine ungeordnete Liste mit ul und li ohne Standardsymbole mit vorgesetzten Sonderzeichen in einem vom normalen Inhalt umflossenen Menü. |