EINFÜHRUNGINDIE„DESIGNSPRACHE“CSS LDiesesKapitelgibteineEinführungindieGrundprinzipiender„Designsprache“CSS. BevorSiesichmitdenDetailsderSprachebeschäftigen,solldieseEinführung x x x x x einenÜberblickdarübervermitteln,wozuCSSeingesetztwird, EinblickindasPrinzipderVererbbarkeitvonStilregelngewähren, denNutzenzentralerFormateverdeutlichen, aufdieUmsetzungvonCSSindenverschiedenenBrowserneingehenund einederdreiverschiedenenMöglichkeitenzeigen,wieCSSinHTMLeingebundenwerden kann. CASCADINGSTYLESHEETS DieAbkürzungCSSbedeutetCasdacingStyleSheets.StylewieStil,Cascadingwiekaskadierend,was aufdieVererbbarkeitvonStilregelnabzieltundSheetswieFolien.WasdasimEinzelnenbedeutet, wirdimAnschlusserläutert. Stil MiteinemStyle(deutschStil)könnenSiefestlegen,wieIhreSeitenaussehensollen,d.h.,Sie könnenbestimmen,wiedieverschiedenenHTMLELementeaussehensollen.ZumBeispielkönnen SiealleÜberschriften<h1>inderSchriftart„TrebuchetMS“,einerGrößevon15px(Pixel,d.h. BildpunktamBildschirm)undderFarbeblaugestalten.OdereinenbesonderenTextabsatzmiteinem durchgezogenengrauenRahmenvon1pxStärke,einemInnenabstandvon20pxundeinerBreitevon 300px. MitCSSkönnenSieVordergrundfarbe(dasistdieTextfarbe)undHintergrundfarbefestlegen, Schriftart,Schriftgröße,Textausrichtungetc.bestimmen.DarüberhinauskönnendamitRahmen gestaltetundAbständezugewiesenwerden.SiekönnenHintergrundbildereinbinden,aufdenensich Textebefinden,Navigationsleistengestalten,dieaufBerührungreagieren,unddurchdie PositionierungvonElementendasLayoutderSeitenbestimmen. AufderfolgendenWebsitewurdenetlichederobenerwähntenTechnikeneingesetzt: http://meyerweb.com/eric/css/edge/complexspiral/demo.html. WasdabeimitCSSgemachtwurde,könnenSienachvollziehen,indemSieinMozillaFirefoxCSS abschalten.Menü„Ansicht/WebseitenStil/keinStil“. 34 Abbildung15:CSSinMozillaFirefoxabschalten. VererbungvonStilregeln CascadingbedeutetkaskadierendundsprichtdieVererbungvonStileigenschaftenan.Manche Stileigenschaften,wiezumBeispieldieSchriftfarbeunddieSchriftartkönnenvonsog.Eltern ElementenaufihreKindElementevererbtwerden. WasElternundKindElementesind,wirdanhanddesfolgendenQuelltextesunddernachfolgenden Erläuterungendeutlich: … <body> <h1>Der Zauberlehrling</h1> <p> Hat der alte <strong>Hexenmeister</strong><br /> Sich doch einmal <em>wegbegeben</em>!<br /> Und nun sollen seine Geister<br /> Auch nach meinem Willen leben. </p> <p> Walle! walle<br /> Manche Strecke,<br /> Daß, zum Zwecke,<br /> Wasser fließe<br /> Und mit reichem, vollem Schwalle<br /> Zu dem Bade sich ergieße. </p> </body> 35 … DieHierarchie(d.h.werElternundwerKindElementist)richtetsichnachderVerschachtelungim bodyTagderDatei.BodyistdaherElternElementvonallenanderenElementen. Abbildung16:ElternundKindelemente. WirdjetztzumBeispielfürdasbodyElementdieSchriftartArialzugewiesen,soerbendasalle hierarchischdarunterliegendenElemente.Esseidenn,fürdieseElementewirdetwasanderes angeordnet. 36 Abbildung17:WelcheSchriftarthabendieElementemitdenFragezeichen? Abbildung18:ImerstenAbsatzwirddieSchriftartGeorgiaangeordnet.Dasvererbtsichauf denganzenTeilbaum. VererbbarsindbeispielsweisedieSchriftartunddieSchriftfarbe.AndereEigenschaftenkönnennicht vererbtwerden:z.B.RahmenundAbständeoderdiePositioneinesElements.Dieswürdeauch keinenSinnergeben,daWebdesignerdannständigdamitbeschäftigtwären,beiuntergeordneten ElementenunerwünschteRahmenoderAbständezuentfernen-. Folien Sheets(Folien)kommenerstbeiderfortgeschrittenerenAnwendungrichtigzumTragen. MitzentralenFormatenkönnenbeispielsweiseeineeinheitlicheSchriftartoderLayoutAnweisungen füreinganzesProjektfestgelegtwerden.DieAnweisungenwerdendafürineineeigeneDatei geschrieben,diedieDateiendung.csshat.AlleHTMLDateien,dieaufdiedortnotiertenStilregeln zugreifensollen,enthalteneinenVerweisaufdiecssDatei. DerVorteildavonist,dass,egalwievieleSeitenzueinemProjektgehören,derAufwandfür ÄnderungenamDesignimmergleichbleibt.SollimuntenaufgeführtenBeispieldieSchriftartfürdie TextedesgesamtenProjektesgeändertwerden,istesbeidieserStrukturausreichend,diesmit einemBefehlinderDatei„seitendesign.css“anzuordnen.WürdedieSchriftartinjedereinzelnen Dateidefiniert,etwaweildazuHTMLBefehleverwendetwurden,sowäredasbedeutend aufwendiger. ZentraleFormatesindwartungsfreundlichundunterstützenSiedabei,füreinProjektein einheitlichesDesign(CorporateDesign)umzusetzen. 37 Abbildung19:ZentraleFormatefüreinganzesProjekt StylesheetsundihreUmsetzungimWebBrowser DiezurzeitaktuelleVersionvonCSSistCSS2.0,entwickelt1998.DieZwischenversionCSS2.1vom08 September2009korrigierteeinigeUnstimmigkeitenundentfernteeinigeTechniken,diein verschiedenenBrowsernnichtumgesetztwurden,ausdemStandard.CSS3.0istinArbeitundwird teilweiseschonvondenBrowsernumgesetzt. WelcheCSSBefehledieverschiedenenBrowserversionenkorrektumsetzen,istrecht unterschiedlich.GeradebeiderArbeitmitStylesistesdahereinMuss,dieSeitenmitverschiedenen Browsernauszutesten.FürBrowser,dieSienichtinstallierenkönnen,empfehleichdafürdiebereits erwähntenScreenshotdienste: x x Netrenderer:ScreenshotsinIEVersionen5.5bis7Win,kostenlos http://meineipadresse.de/netrenderer/index.php Browsershots:DieserkostenloseScreenshotGeneratorbieteteineumfassende AuswahlmöglichkeitfürdieScreenshots:etwa50verschiedeneBrowseraufden BetriebssystemenWindows,LinuxundMacOS. Den„Hemmschuh“inSachenCSSstellenausgerechnetdieInternetExplorerderVersionen5.5 (befindetsichbezüglichseinerVerbreitungimPromilleBereich),6.0,7.0undz.T.sogarnoch8.0dar. InsbesonderebeimCSSLayoutmussdiesenBrowsernzuweilenmiteigenenStylesheetAnweisungen aufdieSprüngegeholfenwerden. MehrdarüberwelcheBrowserwelcheCSSVersionumsetzenkönnenfindenSieimKapitel „Stylesheets,WebBrowserundAnwender“inSELFHTML: http://de.selfhtml.org/css/intro.htm#styles_browser_anwender DietatsächlicheVerbreitungderverschiedenenBrowserlässtsichnichtzweifelsfreifeststellen.Für AnhaltswertekönnenSieverschiedeneStatistiken,beispielweiseaufdenuntenaufgeführtenSeiten heranziehen. http://www.w3schools.com/browsers/browsers_stats.asp http://marketshare.hitslink.com/ CSSINDENKOPFEINERHTMLDATEIEINBINDEN 38 DerAufbauvonCSSRegeln JederStilbestehtauseinerodermehrerenRegeln.Beispielsweise: h1{ font-size:2em; font-style:italic; } JedeRegelbestehtgenauaus2Teilen: x x demSelektor(hierh1),derfestlegtaufwelcheHTMLElementedieRegelangewandtwerden soll,und einerodermehrerenDeklarationen(hierfontsize:2em;fontstyle:italic;),diedieDarstellung derElementebeschreibt,aufdiederSelektorzutrifft(hieralleÜberschriftenderOrdnung1). DieDeklarationenwerdenimmerineinergeschweiftenKlammernotiert. JedeDeklarationbestehtaus2Teilen.DerErstebenenntdieEigenschaft(hierfont size=Schriftgrößeundfontstyle=Schriftstil).DerzweiteTeil(nachdemDoppelpunkt) bestimmtdenWert,dendieEigenschaftannehmensoll.HinterjedemEigenschaftWertPaar stehteinSemikolon,wobeidasSemikolonhinterderletztenEigenschaftoptionalistund auchweggelassenwerdendarf. ImBeispielgibtderSelektorh1vor,dassdieStilregelaufalleÜberschriftenh1(imbodymit <h1>…</h1>ausgezeichnet)angewendetwerdensoll.DieRegelimBeispielbestehtaus2 Deklarationen. DieersteDeklarationbeziehtsichaufdieSchriftgröße(fontsize).DerzugewieseneWertistdie Schriftgröße2em.DieEinheitembeziehtsichaufdieStandardgrößederSchriftimBrowser.Die StandardschriftgrößekannimBrowserdurchdenBenutzereingestelltwerdenundbeträgtansonsten meistens16px.1embedeutet,dassdieSchriftsogroßbleibt,wiesieist.HierwirddieSchriftgröße alsoverdoppelt.WeitereEinheitenfürdieSchriftgrößeundandereElementefindenSieaufdieser Internetseite:http://de.selfhtml.org/navigation/css.htm#masseinheiten. DiezweiteDeklarationbeziehtsichaufdenSchriftstil.ZulässigeWertesindhierzumBeispiel„italic“ (schräggestellt)und„normal“.DenWertnormalbenötigenSiezumBeispieldannwenneinemit <cite>…</cite>formatierteQuellenangabenichtschräggestelltdargestelltwerdensoll. DieIntegrationvonCSSFormateninHTML CSSStilregeln(auchFormategenannt)lassensichaufunterschiedlicheArtundWeiseineineHTML Dateiintegrieren: x x x ÜbereinenzentralenStyleBereichinderDatei(EmbeddedStyleSheet).DieStil AnweisungengeltendannfürdieaktuelleHTMLDatei. ÜbereineexterneCSSDateioder(ExternerStyleSheet).DasPrinzipdieserMethode habenSieschonunterPunktFolienkennengelernt.DieStilAnweisungenkönnen hierbeifüreinganzesProjektoderfürTeiledavongelten. DirektimeinleitendenTageinesHTMLElements(InlineStyleSheet).DieStil AnweisungengeltendannnurfürdasentsprechendeHTMLTag. 39 AndieserStellewirdnurder„EmbeddedStylesheet“vorgestellt.Wermöchte,findetunterden LesetippszudiesemKapitelbereitsInformationenzudenbeidenanderenMöglichkeiten. CSSzentralundfüreineHTMLDateidefinieren(embedded) <html> <head> <title>Die Ameisen von Joachim Ringelnatz</title> <style type="text/css"> <!-body{ background:#5D5D5D; /*Hintergrundfarbe*/ color:#fff; /*Textfarbe*/ font-family:"trebuchet ms",arial,helvetica,sans-serif; /*Schriftart*/ font-size:1.5em; /*Schriftgröße*/ } h1{ font-size:2em; font-style:italic; /*Schriftstil :schräg gestellt*/ } --> </style> </head> <body> <h1>Die Ameisen</h1> <p> In Hamburg lebten zwei Ameisen,<br /> Die wollten nach Australien reisen.<br /> Bei Altona auf der Chaussee,<br /> Da taten ihnen die Beine weh,<br /> Und da verzichteten sie weise<br /> Dann auf den letzten Teil der Reise. </p> <p> <cite>J<sub>o</sub>achim R<sup>i</sup>ngelnatz</cite> </p> </body> </html> UmStilregelnfürdieDateizudefinieren,wirdzunächstmitdemStyleTageinstyleBlockinnerhalb desheadBereichesunterhalbdestitleTagsangelegt(imBeispielgelbmarkiert).DerBereich,der durchdasstyleTagdefiniertwird,enthältdie„Fremdsprache“CSS. DieCSSRegelnwerdenaufdieBereichedesDokumentesangewandt,diedurchdieSelektoren definiertwurden.Hierbodyundh1.WerdenStilregelnaufdenBodyBereicheinerHTMLDatei angewandt,sobewirktdasinderRegel,dasssiefüralleHTMLElementederDateigelten. DamitältereWebBrowser,diekeineStylesheetsanzeigenkönnen,denInhaltdesstyleElements nichtirrtümlichalsanzuzeigendenTextinterpretieren,solltenSiedenInhaltineinenHTML Kommentar(<!-- ... -->)einbinden,imBeispielrotmarkiert.DerKommentarmusszwingend 40 indererstenZeileunterhalbvon<style…>beginnenundinderletztenZeileoberhalbvon</style> enden. ImBeispielsehenSiezusätzlichdenCSSKommentar,hierblaumarkiert.DieserKommentarwirdim StyleBereichinnerhalbdesHTMLKommentarsverwendet. FüreineDateidürfenSiemehrerestyleBereicheinnerhalbdesHTMLDateikopfsnotieren. ScreenshotderBeispieldatei Wennallesfunktionierthat,siehtIhreBeispieldateijetztsoaus: Abbildung20:CSSimEinsatz LESETIPPS BeispielfürdenEinsatzvonCSS 41 http://meyerweb.com/eric/css/edge/complexspiral/demo.html UmsetzungvonStylesheetsimBrowser x x http://de.selfhtml.org/css/intro.htm#styles_browser_anwender http://www.css4you.de/browsercomp.html/standardbrowser/(ListevonCSSBefehlenund derBrowser,diesieumsetzenkönnen) ScreenshotdienstezumTestenvonWebsites x x Netrenderer:ScreenshotsinIEVersionen5.5bis7Win,kostenlos http://meineipadresse.de/netrenderer/index.php Browsershots:DieserkostenloseScreenshotGeneratorbieteteineumfassende AuswahlmöglichkeitfürdieScreenshots:etwa50verschiedeneBrowseraufden BetriebssystemenWindows,LinuxundMacOS. StatistikenüberdieMarktanteileverschiedenerBrowser x x http://www.w3schools.com/browsers/browsers_stats.asp http://marketshare.hitslink.com/ MaßeinheiteninCSS http://de.selfhtml.org/navigation/css.htm#masseinheiten EinbindungvonCSSinHTML x x x FormatezentralfüreineDateidefinieren(EmbeddedStyleSheet): http://de.selfhtml.org/css/formate/einbinden.htm#zentral FormatezentralineinerseparatenDateidefinieren(ExternerStyleSheet): http://de.selfhtml.org/css/formate/einbinden.htm#separat FormateinnerhalbeinesHTMLElementsdefinieren(InlineStyleSheet): http://de.selfhtml.org/css/formate/einbinden.htm#innerhalb_element 42