www.wikidata.de-de.nina.az
Cascading Style Sheets englische Aussprache kaesˌkeɪdɪŋˈstaɪlʃiːts fur gestufte Gestaltungsbogen kurz CSS ist eine Stylesheet Sprache fur elektronische Dokumente und zusammen mit HTML und JavaScript eine der Kernsprachen des World Wide Webs 1 Sie ist ein sogenannter living standard lebendiger Standard und wird vom World Wide Web Consortium W3C bestandig weiterentwickelt Mit CSS werden Gestaltungsanweisungen erstellt die vor allem zusammen mit den Auszeichnungssprachen HTML und XML zum Beispiel bei SVG eingesetzt werden Cascading Style SheetsDateiendung cssMIME Type text cssEntwickelt von World Wide Web ConsortiumArt Stylesheet SpracheStandard s Level 1 Recommendation Level 2 Recommendation Level 2 Revision 1 Recommendation Level 2 Revision 2 Recommendation Website https www w3 org Style CSS Inhaltsverzeichnis 1 Grundlagen 2 Geschichte und Versionen 2 1 Anfange 2 2 CSS2 2 3 CSS3 3 Syntax 3 1 Der Aufbau von CSS Anweisungen 3 2 Selektoren 3 2 1 Beispiel 3 3 Layouts mit CSS erstellen 4 Browserkompatibilitat 4 1 CSS Hacks 5 Kombination mit HTML oder XHTML 6 Spezifische Stylesheets 6 1 Medienspezifische Stylesheets 6 2 Eigenschaftsspezifische Stylesheets Media Queries 7 Sicherheitsrisiken durch CSS 8 Siehe auch 9 Literatur 10 Weblinks 11 EinzelnachweiseGrundlagen BearbeitenCSS wurde entworfen um Darstellungsvorgaben weitgehend von den Inhalten zu trennen Wenn diese Trennung konsequent vollzogen wird werden nur noch die inhaltliche Gliederung eines Dokumentes und die Bedeutung seiner Teile in HTML oder XML beschrieben wahrend mit CSS gesondert davon vorzugsweise in separaten CSS Dateien die Darstellung der Inhalte festgelegt wird z B Layout Farben und Typografie Gab es anfangs nur einfache Darstellungsanweisungen so wurden im Verlauf komplexere Module hinzugefugt mit denen z B Animationen und fur verschiedene Ausgabemedien verschiedene Darstellungen definiert werden konnen Elemente eines Dokumentes konnen aufgrund verschiedener Eigenschaften identifiziert werden Dazu zahlen neben dem Elementnamen z B a fur alle Hyperlinks ihrer ID und ihrer Position innerhalb des Dokumentes z B alle Bildelemente innerhalb von Linkelementen auch Details wie Attribute z B alle Linkelemente deren href Attribut mit www example com beginnen oder die Position in einer Menge von Elementen z B jedes ungerade Element einer Liste Mit CSS Anweisungen konnen fur jede solcher Elementgruppen Vorgaben fur die Darstellung festgelegt werden Diese Festlegungen konnen zentral erfolgen auch in separaten Dateien sodass sie leichter fur andere Dokumente wiederverwendet werden konnen Ausserdem enthalt CSS ein Vererbungsmodell fur Auszeichnungsattribute das die Anzahl erforderlicher Definitionen vermindert Mit CSS konnen fur verschiedene Ausgabemedien Bildschirm Papier Projektion Sprache unterschiedliche Darstellungen vorgegeben werden Das ist nutzlich um z B die Verweisadressen von Hyperlinks beim Drucken aufzufuhren und um fur Gerate wie PDAs und Mobiltelefone die kleine Displays oder eine geringe Bildauflosung haben Darstellungen anzubieten die schmal genug und nicht zu hoch sind um auf solchen Geraten lesbar zu bleiben CSS ist die Standard Stylesheet Sprache im World Wide Web Fruher ubliche darstellungsorientierte HTML Elemente wie font oder center gelten als veraltet englisch obsolete das heisst sie sollen in Zukunft aus dem HTML Standard entfernt werden 2 So gelten diese unter anderem seit HTML 4 1997 als unerwunscht und mit HTML5 als missbilligt englisch deprecated 3 Geschichte und Versionen Bearbeiten nbsp CSS Snapshot 2021Anfange Bearbeiten Einen ersten Vorschlag fur Web Stylesheets gab es 1993 mehrere weitere folgten bis 1995 Am 10 Oktober 1994 veroffentlichte Hakon Wium Lie ein Mitarbeiter von Tim Berners Lee am CERN den ersten Vorschlag fur Cascading HTML style sheets 4 die er spater abgekurzt als CHSS bezeichnet 5 Bert Bos arbeitete zu dieser Zeit an der Implementierung eines Browsers namens Argo der seine eigene Stylesheet Sprache benutzte Die beiden entschieden sich CSS gemeinsam zu entwickeln Es gab zu dieser Zeit auch andere Sprachen mit dem gleichen Ziel die Erfinder von CSS brachten aber als erste die Idee auf Regeln zu definieren die uber mehrere Stylesheets hinweg und innerhalb eines einzigen Stylesheets daruber entscheiden welche CSS Formatierung auf das betreffende Element angewendet werden sollen Nach der Prasentation von CSS durch Lie auf der Konferenz Mosaic and the Web in Chicago 1994 und spater mit Bos 1995 wurde das World Wide Web Consortium W3C auf CSS aufmerksam Lie und Bos arbeiteten mit anderen Mitgliedern in diesem Rahmen an CSS weiter Im Dezember 1996 wurde die CSS Level 1 Recommendation publiziert CSS2 Bearbeiten CSS Level 2 CSS2 wurde im Mai 1998 veroffentlicht Bis Anfang 2010 wurde diese Empfehlung allerdings von keinem verbreiteten Webbrowser vollstandig umgesetzt Bereits ab 2002 hat das W3C an der uberarbeiteten Version CSS Level 2 Revision 1 CSS 2 1 gearbeitet 6 Die Erfahrungen mit CSS2 wurden hier aufgenommen Unstimmigkeiten korrigiert und manche Teiltechniken gestrichen die in verschiedenen Browsern nicht korrekt umgesetzt worden waren Grundlegend neue Fahigkeiten wurden nicht eingebaut Am 7 Juni 2011 wurde CSS 2 1 als fertige Empfehlung Recommendation veroffentlicht 7 2014 verarbeiteten die meisten Webbrowser CSS 2 1 weitgehend korrekt nur wenige Teiltechniken wurden nicht vollstandig unterstutzt Im April 2016 wurde der erste offentliche Arbeitsentwurf von CSS 2 2 veroffentlicht 8 CSS3 Bearbeiten Seit 2000 ist CSS Level 3 in der Entwicklung 9 Hier werden die Entwicklungen weiter vorangetrieben die bereits mit CSS2 begonnen wurden CSS3 wird im Gegensatz zu den Vorgangern modular aufgebaut sein womit einzelne Teiltechniken beispielsweise Steuerung der Sprachausgabe oder Selektoren in eigenen Versionsschritten entwickelt werden konnen So nahert sich CSS bei seinen Fahigkeiten mehr dem etablierten DSSSL fur SGML an und wird wohl auch in Zukunft noch eine Alternative zu XML basierten Stylesheet Sprachen wie XSL FO sein Derzeit veroffentlichte und breit unterstutzte Standards sind unter anderem CSS Color Level 3 CSS Namespaces Selectors Level 3 und Media Queries Neben diesen Modulen stehen weitere Elemente zur Diskussion etwa ein Layout Modul und verschiedene Grafikfilter 10 Moderne Browser unterstutzten im Jahr 2014 bereits viele CSS3 Module 11 obwohl nur fur wenige Teile bereits eine Empfehlung Recommendation durch das W3C vorgelegen hatte 10 Im Laufe der Zeit gab es immer mehr Funktionen fur CSS sowie Empfehlungen vom W3C Im Fruhjahr 2012 wurde berichtet das W3C arbeite bereits an einem Nachfolger von CSS3 der mit der Versionsnummer 4 veroffentlicht werden solle 12 Im September 2012 haben Vertreter der CSS Arbeitsgruppe des W3C jedoch klargestellt dass es keine Versionsnummer 4 geben soll There will never be a CSS4 13 Vielmehr soll die kunftige Entwicklung des Standards darin bestehen dass die einzelnen CSS Module unter eigenen Versionsnummern weiterentwickelt werden konnen wahrend der Gesamtstandard den Namen CSS3 oder einfach CSS behalten soll 13 Syntax BearbeitenDer Aufbau von CSS Anweisungen Bearbeiten Selektor1 Selektor2 Eigenschaft 1 Wert 1 Eigenschaft n Wert n Kommentar In eckigen Klammern stehen optionale Angaben Eine CSS Anweisung englisch rule gibt an dass fur festgelegte Teile eines Dokuments eine Kombination von bestimmten Eigenschaften gelten soll Geschrieben wird sie als eine durch Kommata getrennte Aufzahlung von Selektoren Fur diese Typen von Teilen gefolgt in geschweiften Klammern von einer semikolongetrennten Liste von Eigenschafts Deklarationen nimm die folgenden Eigenschaften Jede Eigenschaftsdeklaration besteht aus der Bezeichnung der Eigenschaft einem Doppelpunkt und dem Wert den sie annehmen soll Nach der letzten Eigenschaftsdeklaration ist vor der schliessenden geschweiften Klammer ein abschliessendes Semikolon erlaubt aber nicht notwendig Um diese Teile einer Anweisung herum ist Leerraum frei verwendbar Haufig schreibt man den Doppelpunkt ohne Zwischenraum hinter den Eigenschaftsnamen jede Eigenschaftsdeklaration in eine eigene Zeile und schliesst auch die letzte Eigenschaft mit einem Semikolon So kommt es bei spateren Anderungen weniger leicht zu Syntaxfehlern Sollte es dennoch zu Syntaxfehlern kommen eignet sich ein CSS Validator um Fehler zu beheben 14 Ein Stylesheet darf beliebig viele solcher Anweisungen enthalten Die folgende Tabelle enthalt eine vollstandige Ubersicht aller Selektoren mit denen Elemente meist HTML Elemente ausgewahlt werden konnen Selektoren Bearbeiten Ein Selektor nennt die Bedingungen die auf ein Element zutreffen mussen damit der nachfolgende Satz an CSS Deklarationen mit seinen Darstellungsvorgaben auf das Element angewendet wird Solche Bedingungen beschreiben eindeutig welche Eigenschaften Typ Klasse ID Attribut oder Attributwert Elemente haben mussen oder in welchem Kontext sie im Dokument stehen mussen Existenz eines bestimmten ubergeordneten Elementes oder eines Vorgangerelementes bestimmten Typs damit die Darstellungsvorgaben fur sie gelten sollen In einem Selektor konnen mehrere Auswahlkriterien verknupft sein Muster Bedeutung selektiert Ver wbr sion Definition Erlauterungeinfache Selektoren span style white space nowrap span jedes Element CSS2 Universal selector Universalselektor span style white space nowrap E span jedes Element vom Typ E CSS1 Type selectors Typselektor span style white space nowrap c span jedes Element der Klasse c analog span style white space nowrap class c span im Sinne dass die Klasse c in der aufgelistet wird andere Klassen die auch den Buchstaben c im Namen tragen jedoch nicht CSS1 Class selectors Klassenselektor span style white space nowrap myid span das Element mit der ID myid analog span style white space nowrap id myid span CSS1 en ID Selektor span style white space nowrap foo span Elemente deren foo Attribut gesetzt ist unabhangig vom Wert CSS2 Attribute selectors Attributprasenz span style white space nowrap foo bar span Elemente deren foo Attribut mit dem Wert bar belegt ist CSS2 Attributwerte span style white space nowrap foo bar span Elemente deren foo Attribut das Wort bar enthalt z B bar oder bar quz nicht aber barquz CSS2 span style white space nowrap foo bar span Elemente deren foo Attribut die Zeichenfolge bar ist oder mit der Zeichenfolge bar beginnt CSS2 span style white space nowrap foo bar span Elemente deren foo Attribut mit der Zeichenfolge bar beginnt CSS3 Substring matching attribute selectors Teilubereinstimmungen span style white space nowrap foo bar span Elemente deren foo Attribut mit der Zeichenfolge bar endet CSS3 span style white space nowrap foo bar span Elemente deren foo Attribut die Zeichenfolge bar enthalt CSS3Kombinatoren span style white space nowrap E F span alle Elemente F die Nachfahren eines Elements E sind CSS1 Descendant selectors Nachfahrenselektor span style white space nowrap E gt F span alle Elemente F die ein Kind eines Elements E sind CSS2 Child selectors Kindselektor span style white space nowrap E F span alle Elemente F die einen Vorganger E auf gleicher Ebene haben CSS3 General sibling combinator Geschwisterselektor span style white space nowrap E F span alle Elemente F die einen direkten Vorganger E auf gleicher Ebene haben CSS2 Adjacent sibling combinator NachbarselektorPseudoklassen span style white space nowrap link span noch nicht besuchte Verweise CSS1 link pseudo classes Pseudoklassen link und visited span style white space nowrap visited span bereits besuchte Verweise CSS1 span style white space nowrap active span das Element das gerade angeklickt ist CSS1 dynamic pseudo classes Pseudoklassen hover active und focus span style white space nowrap hover span das Element uber dem sich der Mauszeiger befindet CSS2 span style white space nowrap focus span das Element das den Fokus z B durch die Tabulatortaste erhalten hat CSS2 span style white space nowrap lang span Elemente deren Sprache uber das Attribut lang festgelegt wurde CSS2 language pseudo class Pseudoklasse lang span style white space nowrap target span das Element das Ziel des gerade eben angeklickten Verweises ist CSS3 target pseudo class Pseudoklasse target span style white space nowrap enabled span Elemente in Benutzeroberflachen die auswahlbar sind CSS3 enabled and disabled pseudo classes Pseudoklassen enabled disabled und checked span style white space nowrap disabled span Elemente in Benutzeroberflachen die gesperrt sind CSS3 span style white space nowrap checked span Elemente von Benutzeroberflachen die angewahlt sind CSS3 checked pseudo class span style white space nowrap not foo span Elemente fur die foo nicht zutrifft CSS3 negation pseudo class Pseudoklasse not strukturelle Pseudoklassen small span style white space nowrap first child span small Elemente die das erste Kind ihres Elternelementes sind CSS2 first child pseudo class Pseudoklasse first child small span style white space nowrap last child span small Elemente die das letzte Kind ihres Elternelementes sind CSS3 last child pseudo class Pseudoklasse last child small span style white space nowrap nth child span small Elemente die beispielsweise das n te Kind ihres Elternelementes sind CSS3 nth child pseudo class Pseudoklasse nth child small span style white space nowrap nth last child span small Elemente die beispielsweise das nt letzte Kind ihres Elternelementes sind CSS3 nth last child pseudo class Pseudoklasse nth last child small span style white space nowrap only child span small Elemente die das einzige Kind ihres Elternelementes sind CSS3 only child pseudo class Pseudoklasse only child small span style white space nowrap first of type span small Elemente die das erste Element dieses Typs ihres Elternelementes sind CSS3 first of type pseudo class Pseudoklasse first of type small span style white space nowrap last of type span small Elemente die das letzte Element dieses Typs ihres Elternelementes sind CSS3 first of type pseudo class Pseudoklasse last of type small span style white space nowrap nth of type span small Elemente die das n te Element dieses Typs ihres Elternelementes sind CSS3 nth of type pseudo class Pseudoklasse nth of type small span style white space nowrap nth last of type span small Elemente die das nt letzte Element dieses Typs ihres Elternelementes sind CSS3 nth last of type pseudo class Pseudoklasse nth last of type small span style white space nowrap only of type span small Elemente die das einzige Element dieses Typs ihres Elternelementes sind CSS3 only of type pseudo class Pseudoklasse only of type small span style white space nowrap root span small Wurzelelement CSS3 root pseudo class Pseudoklasse root small span style white space nowrap empty span small Elemente die keine Kinder haben CSS3 empty pseudo class Pseudoklasse emptyPseudoelemente span style white space nowrap first line span erste Zeile des formatierten Textes CSS1 first line pseudo element Pseudoelement first line span style white space nowrap first letter span erstes Zeichen des formatierten Textes CSS1 first letter pseudo element Pseudoelement first letter span style white space nowrap foo before span erzeugt ein Element am Anfang des Elements foo und wahlt es aus CSS2 before and after pseudo elements Pseudoelemente before und after span style white space nowrap foo after span erzeugt ein Element am Ende des Elements foo und wahlt es aus CSS2Beispiel Bearbeiten nbsp Das CSS Box ModellCSS Code p info font family arial sans serif line height 150 margin left 2 em padding 1 em border 3 px solid red background color f89 display inline block p info span font weight bold p info span after content HTML Code lt p class info gt lt span gt Hinweis lt span gt Sie haben sich erfolgreich angemeldet lt p gt Die HTML Tags lt p gt und lt p gt definieren den dazwischen stehenden Text als einen Absatz Diesem wird die Klasse info mit ihren CSS Darstellungsvorgaben zu Schrifttyp Rahmen etc zugewiesen Von einem CSS kompatiblen Browser wird der Absatz daher folgendermassen dargestellt nbsp Hier werden die Deklarationen allen p Elementen zugewiesen die das class Attribut mit dem Wert info besitzen Ohne das p im Selektor waren alle Elemente der Klasse info betroffen ohne das info waren alle p Elemente betroffen span Elemente innerhalb solcher Absatze werden in Fettschrift dargestellt dahinter wird mit dem Pseudoelement after ein Doppelpunkt erzeugt Ein wichtiges Prinzip von CSS ist die Vererbung der Eigenschaftswerte an untergeordnete Elemente und das Kombinieren verschiedener Stylesheets wobei die letzte Eigenschaftsdeklaration fur ein Element vorher getroffene Deklarationen der gleichen Eigenschaft mit anderem Wert fur dieses Element uberschreibt Diese konnen aus verschiedenen Quellen stammen vom Autor des Stylesheets vom Browser User Agent oder vom Benutzer Hierbei werden zuerst die Angaben vom Browser dann die vom Benutzer und schliesslich die vom Autor umgesetzt Layouts mit CSS erstellen Bearbeiten In den Anfangen der Web Entwicklung wurden komplexe Layouts haufig mithilfe des lt table gt Elements umgesetzt Dabei wird die ganze Website als Tabelle strukturiert deren Spalten Zeilen und Zellen den eigentlichen Inhalt enthalten Auch konnen Tabellen in sich verschachtelt werden Nachteile dieser Methode sind vor allem eine geringe Gestaltungsfreiheit und ungunstige Darstellung auf Geraten mit kleinem Display siehe Responsive Webdesign Mittlerweile unterstutzen alle gangigen Webbrowser ausgefeiltere Moglichkeiten und CSS Anweisungen um weitaus kreativere Layouts umzusetzen Im Kontext von HTML E Mails findet diese Methode jedoch immer noch Anwendung da unter anderem Microsoft Outlook viele gangige CSS Eigenschaften nicht unterstutzt 15 Auf modernen Webseiten werden mittlerweile vor allem zwei Eigenschaften verwendet Flexbox display flex erlaubt es HTML Elemente innerhalb eines Elements beliebig zu positionieren und nebeneinander liegende Elemente auf z B mobilen Geraten umzubrechen 16 Grid display grid erlaubt es HTML Elemente in Bereiche zu unterteilen diese Bereiche in ihrer Grosse und Position zu definieren und innenliegende Elemente in diesen beliebig zu platzieren 17 Browserkompatibilitat BearbeitenDie verschiedenen Browser unterscheiden sich stark im Umfang der unterstutzten Eigenschaften und den Standarddarstellungen verschiedener HTML Elemente 18 Dadurch entstehen Probleme fur den Entwickler da er nicht alle Funktionen im vollen Ausmass nutzen kann und darauf achten muss dass sich die Website nicht zu stark unterscheidet zwischen den einzelnen Browsern Es gibt verschiedene Moglichkeiten dieses Problem zu losen 19 Ein Reset Stylesheet kann genutzt werden um die verschiedenen CSS Standardeinstellungen zuruckzusetzen und danach eigene Regeln fur die Elemente zu deklarieren Conditional Comments sind HTML Kommentare die nur vom Internet Explorer verstanden werden Dies erleichtert die Optimierung fur diesen Browser enorm da dieser viele Funktionen und Eigenschaften nicht unterstutzt Browserprafixe werden genutzt um Funktionen bei alteren Versionen der Browser zu verwenden Diese wurden in den entsprechenden Versionen nur getestet und erst spater als Standard implementiert Zudem gibt es Funktionen die nur in den einzelnen Browsern verfugbar sind 11 Eine weitere Methode sind CSS Hacks 20 Diese verwenden CSS Syntax um Schwachen der Browser bei der Gestaltung von Weblayouts auszunutzen CSS Hacks Bearbeiten CSS Hacks werden benutzt um Unterschiede bei der Darstellung von Weblayouts in verschiedenen Browsern auszugleichen oder CSS Anweisungen fur bestimmte Webbrowser gesondert zuzuweisen oder auszuschliessen Der Begriff Hack bezeichnet dabei nichtstandardisierte CSS Befehle mit denen die Interpretationsschwache eines Webbrowsers ausgenutzt wird der diese Anweisungen entweder interpretiert oder ignoriert Damit konnen Schwachstellen von Webbrowsern ausgeglichen werden um moglichst in jedem Webbrowser das gleiche Ergebnis angezeigt zu bekommen Ein CSS Hack kombiniert z B fehlerhaft angegebene Selektoren mit zusatzlichen Zeichen oder enthalt Anweisungen die bestimmte Webbrowser nicht kennen Ein bekanntes Beispiel fur einen CSS Hack ist der sogenannte Star HTML Hack Das Zeichen dient als Universal Selektor und ist vor dem Selektor html sinnlos CSS Code Beispiel p background color blue html p background color red In diesem Fall wurden zunachst alle Browser die p Elemente mit einem blauen Hintergrund darstellen Lediglich der Internet Explorer vor Version 7 interpretiert auch die zweite Zeile und farbt die Absatze rot obwohl lt html gt kein Eltern Element besitzt auf das zutreffen konnte Kombination mit HTML oder XHTML BearbeitenAm haufigsten wird CSS mit HTML oder XHTML kombiniert Dies kann an mehreren Orten geschehen hier einige Beispiele Als externes Stylesheet fur eine X HTML Datei link Element lt link rel stylesheet type text css href beispiel css gt Als externes Stylesheet fur eine XHTML Datei xml stylesheet Verarbeitungsanweisung lt xml stylesheet type text css href beispiel css gt Als internes Stylesheet in einer X HTML Datei style Element lt head gt lt title gt Dokument mit Formatierungen lt title gt lt style type text css gt body color purple background color d8da3d lt style gt lt head gt Innerhalb von X HTML Tags style Attribut lt span style font size small gt Text lt span gt Die Einbindung als externes Stylesheet ist dabei die am haufigsten verwendete Methode Sie bietet den Vorteil dass fur mehrere Dokumente die denselben Regelsatz benutzen das Stylesheet nur einmal heruntergeladen werden muss Auch vermeidet man so sich wiederholenden Code CSS selbst ermoglicht durch den import Befehl das Einbinden von weiteren externen Stylesheets lt head gt lt title gt Beispiel lt title gt lt style type text css gt import url url des stylesheets lt style gt lt head gt Es gibt drei Varianten Stylesheets mit einem link Element einzubinden Sie unterscheiden sich darin wie zwingend die Stylesheets berucksichtigt werden Dauerhafte Stylesheets persistent lt link rel stylesheet type text css href beispiel css gt Wenn man ein Stylesheet so einbindet wird es auf jeden Fall verwendet Bevorzugte Stylesheets preferred lt link rel stylesheet type text css href beispiel css title IrgendeinTitel gt Sollte man diese Einbindung verwenden wird das Stylesheet verwendet bis der Benutzer ein anderes auswahlt Alternative Stylesheets alternate lt link rel alternate stylesheet type text css href beispiel css title IrgendeinTitel gt Wird das Stylesheet so mit dem HTML Dokument verknupft muss der Benutzer ausdrucklich wahlen es zu verwenden Das wirkt sich in den meisten Browsern aus z B Internet Explorer Firefox Opera und Konqueror Somit wird diese Funktion von den meist benutzten Browsern implementiert Ausserdem sollte ein alternate stylesheet nur in Verbindung mit einem anderen fest eingebundenen verwendet werden damit es auch nur eine echte Alternative ist Alternativ ist es auch moglich das Stylesheet dynamisch mittels JavaScript einzubinden dabei kann es jedoch passieren dass der Inhalt wahrend des Ladevorgangs fur kurze Zeit noch ohne den Stil dargestellt wird was als Flash of Unstyled Content storend auffallen kann Spezifische Stylesheets BearbeitenUm spezifische Gerate oder Eigenschaften anzusprechen gibt es in CSS besondere Attribute Seit CSS2 konnen ausgewahlte Gerate angesprochen werden mit medienspezifischen Stylesheets und seit CSS3 nur Gerate mit bestimmten Eigenschaften beispielsweise der Bildschirmbreite mit eigenschaftsspezifischen Stylesheets Media Queries Media Queries sind vor allem fur responsives Webdesign wichtig Medienspezifische Stylesheets Bearbeiten Es ist moglich verschiedene Stylesheets fur verschiedene Medien einzubinden um zum Beispiel die Gestaltung beim Drucken oder auf Handy Displays zu regulieren Diesen Zweck erfullt das Attribut media In diesem Attribut werden die Parameter notiert die fur dieses Stylesheet gelten sollen Parameter Bedeutungall Stylesheet gilt fur alle Ausgabegeratespeech CSS2 aural aurale Ausgabegerate z B Screenreader a href Brailleschrift html title Brailleschrift braille a Blindenschriftfahige Ausgabegerateembossed Blindenschriftfahige Druckerhandheld Handhelds Palmtops PDAs WinCE Gerate print Druckerprojection Video Beamer Overhead Projektorenscreen Bildschirmetty Ausgabegerate mit feststehenden Zeichentypen z B Fernschreiber Terminals oder auch altere Mobiltelefone tv TV GerateBeispiel fur einen media Befehl innerhalb einer CSS Datei media print body color black background color white h1 font size 14 pt navigation display none Durch mehrere media Befehle lassen sich innerhalb einer CSS Datei oder eines lt style gt Blocks verschiedene Ausgabegerate ansprechen Beispiel fur ein media Attribut beim Einbinden einer CSS Datei lt link rel stylesheet type text css href beispiel css media print gt Beispiel fur ein media Attribut eines lt style gt Blocks lt style type text css media print gt body color black background color white h1 font size 14 pt navigation display none lt style gt Da viele moderne Smartphones den Typ handheld nicht unterstutzen und stattdessen die Stilvorgaben von screen nutzen ist man hier auf Eigenschaftsspezifische Stylesheets Media Queries angewiesen Eigenschaftsspezifische Stylesheets Media Queries Bearbeiten Bei Media Queries handelt es sich um ein Konzept welches mit CSS3 eingefuhrt wurde und das Prinzip des Medientyps in CSS2 erweitert Anstatt starr zu definieren welches Medium das Zielmedium ist konnen mit Media Queries die Eigenschaften des aktuellen Gerates direkt abgefragt werden Verfugbare Gerateeigenschaften sind zum Beispiel Breite und Hohe des Browserfensters Breite und Hohe des Gerates Orientierung Quer oder Hochformat BildschirmauflosungVor allem im Bereich der mobilen Webprogrammierung werden Media Queries bereits jetzt haufig eingesetzt um die Webseite ideal an das aktuell verwendete Gerat anzupassen Im folgenden Beispiel werden Elemente mit CSS Anweisungen versehen Diese Anweisungen gelten fur das gesamte Dokument Anschliessend wird eine Media Query eingesetzt die greift sobald die Breite des Browserfensters kleiner als 1025 Pixel ist In diesem Fall andern sich die Eigenschaften die vorher allgemein definiert wurden bzw es gelten zusatzliche Eigenschaften inhalt width 800 px media screen and max width 1024px inhalt width 600 px aside display none Sicherheitsrisiken durch CSS BearbeitenEs ist moglich CSS auch ohne zusatzliche Verwendung von JavaScript oder anderen Skriptsprachen zum Tracken von Nutzern 21 oder zum Abfangen von Daten die in Webformulare eingetragen werden 22 beispielsweise Passworter zu verwenden Software Keylogger die nur aus CSS Anweisungen bestehen sind mit wenigen Zeilen Code realisierbar 23 Siehe auch BearbeitenSassLiteratur BearbeitenIngo Chao Corina Rudel Fortgeschrittene CSS Techniken 3 Auflage Galileo Computing Bonn 2012 ISBN 978 3 8362 1695 1 Detailreiche und anspruchsvolle Erklarung von CSS Interna Florence Maurice CSS3 Die neuen Features fur fortgeschrittene Webdesigner 2 Auflage dpunkt verlag Heidelberg 2013 ISBN 978 3 86490 118 8 Neuerungen in CSS3 Weblinks Bearbeiten nbsp Wikibooks Websiteentwicklung CSS Lern und Lehrmaterialien Cascading Style Sheets home page W3C 2014 abgerufen am 24 September 2014 englisch CSS Values and Units Module Level 4 Editor s Draft W3C 3 Juni 2020 abgerufen am 14 Juni 2020 englisch CSS Referenz Mozilla Developer Network 8 Juli 2014 abgerufen am 24 September 2014 Referenz einschliesslich Mozilla Erweiterungen CSS Tutorial fur einen kurzen Einstieg in CSS CSS3 Tutorial mit allen CSS Grundlagen und weiterfuhrenden Themen zu CSS3 SELFHTML weitere Informationen zu CSS Browserkompatibilitat Ausfuhrliche Tabelle zur Unterstutzung von CSS Eigenschaften und Selektoren gangiger Webbrowser CSS Framework Enthalt ein reaktionsschnelles mobiles erstes Fluid Grid System das mit zunehmender Grosse des Gerats oder des Ansichtsfensters bis zu 12 Spalten angemessen skaliertEinzelnachweise Bearbeiten David Flanagan JavaScript Das umfassende Referenzwerk 6 Auflage O Reilly Koln 2012 ISBN 3 86899 135 2 S 1 englisch JavaScript The definitive guide Ubersetzt von Lars Schulten Thomas Demmig JavaScript is part of the triad of technologies that all Web developers must learn HTML to specify the content of web pages CSS to specify the presentation of web pages and JavaScript to specify the behaviour of web pages HTML 4 0 Specification W3C Recommendation Appendix A Changes between HTML 3 2 and HTML 4 0 A 1 2 Deprecated elements W3C 18 Dezember 1997 abgerufen am 15 November 2014 englisch HTML5 Differences from HTML4 W3C Working Draft 3 5 Obsolete Elements W3C 18 September 2014 abgerufen am 15 November 2014 englisch Hakon Wium Lie Cascading HTML style sheets a proposal 10 Oktober 1994 abgerufen am 13 Oktober 2014 englisch Hakon Wium Lie Cascading Style Sheets Nicht mehr online verfugbar Universitat Oslo 2005 archiviert vom Original am 4 Oktober 2014 abgerufen am 13 Oktober 2014 englisch Doktorarbeit von H W Lie Cascading Style Sheets level 2 revision 1 W3C Working Draft 2 August 2002 W3C 2 August 2002 abgerufen am 6 Oktober 2014 englisch Cascading Style Sheets Level 2 Revision 1 CSS 2 1 Specification W3C Recommendation 07 June 2011 W3C 7 Juni 2011 abgerufen am 6 Oktober 2014 englisch Cascading Style Sheets level 2 revision 2 CSS 2 2 Specification W3C First Public Working Draft 12 April 2016 W3C 12 April 2016 abgerufen am 1 Juli 2016 englisch CSS3 introduction W3C Working Draft 14 April 2000 In w3 org W3C abgerufen am 8 Juli 2010 englisch a b CSS current work amp how to participate CSS specifications W3C 25 September 2014 abgerufen am 6 Oktober 2014 englisch a b Can I use Support tables for HTML5 CSS3 etc Abgerufen am 14 Juni 2020 Nicolai Schwarz CSS4 So sieht die Zukunft des Webstandards aus In t3n Magazin 5 September 2012 abgerufen am 21 November 2012 a b Tob Atkins A Word About CSS4 5 September 2012 abgerufen am 8 September 2014 englisch The W3C CSS Validation Service Abgerufen am 14 Juni 2020 englisch Can I email Abgerufen am 9 Dezember 2022 englisch CSS Tutorials Flexbox Flex Container In SELFHTML Wiki Abgerufen am 22 Juni 2020 CSS Grid Layout Abgerufen am 22 Juni 2020 Browserkompatibilitat Probleme mit der Darstellung von Webseiten in verschiedenen Browsern Tipps zur Web Usability Abgerufen am 14 Juni 2020 Browserkompatibilitat Interpretation von Websites In rankeffect MAG 8 Mai 2018 abgerufen am 14 Juni 2020 deutsch Hugo Giraudel Tim Pietrusky Fabrice Weinberg Browserhacks Abgerufen am 14 Juni 2020 englisch Jan Bohmer Crooked Style Sheets In Proof of concept for website tracking analytics using only CSS and without JavaScript 29 Juli 2020 abgerufen am 28 Januar 2022 Stealing Data With CSS Attack and Defense 6 Februar 2018 abgerufen am 28 Januar 2022 Max Chehab CSS Keylogger 21 Februar 2018 abgerufen am 28 Januar 2022 Normdaten Sachbegriff GND 4467617 7 lobid OGND AKS V DStandards des World Wide Web Consortiums W3C Empfehlungen ActivityPub ARIA Canonical XML CDF CSS DOM Geolocation API HTML HTML5 InkML ITS JSON LD MathML OWL P3P PLS PNG RDF RDF Schema RIF SCXML SISR SKOS SMIL SOAP SRGS SSML SVG SPARQL Timed Text Turtle VoiceXML WSDL XForms XHTML XHTML RDFa XInclude XLink XML XML Base XML Encryption XML Events XML Information Set XML Namespace XML Schema XML Signature XPath XPointer XProc XQuery XSL XSL FO XSLT Elemente nbsp Arbeitsentwurfeund Kandidaten CCXML CURIE SMIL Timesheets sXBL WICD XFrames XBL XHTML MathML SVG XMLHttpRequestAnmerkungen XAdES XFDL XHTML SMIL XUPRichtlinien Web Content Accessibility Guidelines Multimodal Interaction Activity Markup Validation ServiceInitiativen Web Accessibility Initiative Abgerufen von https de wikipedia org w index php title Cascading Style Sheets amp oldid 236875495