30. januar 2004 - 13:22Der er
14 kommentarer og 1 løsning
Eksterne style sheets
Hej Som nybegynder med CSS opstår der hele tiden nye spørgsmål som ikke altid kan besvares ved at kigge i tutorials og lignende. Derfor prøver jeg her. Jeg har lavet en side bygget op i CSS hvor der er 3 kolonner, en venstre med menuer, en midter med indhold og en højre med nyhedsbokse og lignende. Layoutet styrer jeg fra et eksternt sheet. Skide smart og tidsbesparende. Nu ved jeg så ikke om jeg helt har set lyset med hensyn til CSS. Jeg kan sagtens se at det elegante i at jeg kan styre mit layout på alle mine sider ved at ændre et sted i mit eksterne sheet. Men hvis jeg nu vil ændre indholdet/teksten i en af mine menuer eller bokse skal jeg da stadig ind på hver side og ændre i min body-tag. Eller er jeg helt galt afmarcheret?
I et stylesheet definerer du de ting der er fælles for de sider der bruger det - det fungerer altså som en slags master side. Der for skal du jo rette de forskelle der er på de forskellige sider - indholdet på din kontaktside og din billedeside er jo ikke ens - kun layoutet (css)
Stylesheets foregår, som du nok har fundet ud af, kun det design/opstillingsmæssige. Hvis du har kigget på "typografi" i Word, foregå dette på samme princip, med at du sætter størrelser og den slags direkte, og sætter de enkelte tags og/eller classes for disse, og dermed står tingene op som du ønsker.
Mht. body-tag, så hvis du mener indholdet, så ja - det kan du ikke ændre - kun layout/designet.
Samtidig hvis du holder dig til de indbyggede titel-niveauer (h1, h2, h3 osv), vil det ligeledes være nemt at konvertere fra et format eller design til et andet. Dermed også mulighed for at brugere, som enten ikke får indlæst stylesheet'et, eller en browser som ikke kan håndtere det, at de får en side der kan læses (nogenlunde pænt) alligevel.
Det er faktisk nemt, det kræver dog at dit webhotel understøtter PHP eller ASP.
Hvis du ønsker at alle dine sider skal have vist dine seneste nyheder kan du f.eks. lave en nyhedsside(lad os kalde den nyheder.php), for at få den vist på alle dine sider skal de også have filendelsen php, så skal du placere nedenstående hvor nyhederne skal vises <? include ("nyheder.php"); ?> Så skal du bare indtaste dine nyheder i nyheder.php og ændringen vil så træde i kraft på de resterende sider.
i teorien kan du jo godt smide noget tekst ind via CSS - bare kun før og efter et element (og det virker ikke i IE): <style type="text/css"> #foo:after {content:"HEJ";font-weight:bold;} </style>
<div id="foo"></div>
I Opera og Mozilla smider den teksten HEJ ind bagefter div-elementet. I den kommende CSS3 skulle det vist nok blive muligt at smide tekst ind direkte i et element - men det må vi vente med. Desuden regner jeg ikke med IE i den nærmeste fremtid vil understøtte den slags CSS ;-)
Hvis man ønsker at lave en side udelukkende til IE6 (og enkelte andre), så ja! Men bør jo helst virke til alle browsere, hvis man ønsker et bredt publikum...
Men indtil videre, bør man nok ikke bruge den løsning - da det ikke er en standard der virker i alle, dermed vil ældre browsere får en dejlig tom skærm - hvilket ikke er heldigt.
selvfølgelig skal man ikke bruge den løsning - desuden er lettere at inkludere tekst og indhold via PHP/ASP. Eksemplet var til for at vise, at man rent faktisk godt kan tilføje tekst via CSS - det var bestemt ikke min mening at det rent faktisk skulle være en løsning til problemmet.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.