On Sat, 07 Mar 2009 10:00:09 GMT, Jacob Larsen <someone@somewhere.net>
wrote:
>Jeg har været ved at researche diverse teknikker for at strukturere
>websites og der er nogle ting jeg kunne bruge lidt bedre forståelse for,
>mest i forbindelse med brug af style sheets.
De fleste af dine spørgsmål hører bedre hjemme i:
dk.edb.internet.webdesign.html
eller
dk.edb.internet.webdesign
da de ikke er PHP-specifikke, og da du har større chance for et
kvalificeret svar dér.
>Jeg lister lige et par ting
>her, håber der er nogen her der kan hjælpe:
>
>1. Jeg har en vag idé om nogle af fordelene ved style sheets kontra
>inline HTML attributes, men det er klart at jeg ikke har det fulde
>overblik endnu. Er der nogen her der har links til dokumenter/guides der
>beskriver brug af style sheets i forbindelse med PHP-generet kode?
>Det jeg har kunnet finde online bruger normalt eksempler på problemer
>der bliver løst ved at skifte til et dynamisk sprog som PHP.
>Den eneste klare ting som er forholdsvis logis? er at brug af style
>sheets vil gøre data mængden mindre, og derved reducere load tiden.
Loadtid er vist kun et issue i f.t. CSS, hvis vi skal helt ud i
marginalerne.
Det vigtigste ved CSS er adskillelsen mellem struktur og form. Altså at
man bruger HTML til at angive dokumentets struktur (overskrift,
brødtekst, liste osv.) og CSS-erklæringer til at beskrive, hvordan
dokumentet skal præsenteres (skrifttype, farve, placering, størrelse
osv.)
Dels "tilskynder" det til en mere *logisk* dokument-opbygning (som fx er
til gavn for brugere af skærmlæsere).
Dels er det - ved brug af klasser - langt nemmere at opretholde et
konsistent layout (og at vedligeholde/ændre det).
Dels giver det langt større muligheder for at portere det samme dokument
til forskellige platforme og user agents (fx printer, skærm osv.). Eller
til at lade brugeren vælge forskellige layout-muligheder for samme
HTML-dokument (se fx <url:
http://www.csszengarden.com>).
Dels giver det bedre muligheder for brugere til at definere egen
foretrukken bruger-layout.
Så altså: Adskil form og indhold.
>2. Hvad findes der af guides og tommelfingerregler for hvilke ting der
>puttes i et style sheet? Den del kan godt virke lidt uoverskuelig.
Alt hvad der vedrører layout ("form") bør være deklareret i CSS.
>3. Jeg har fundet lidt forskellige udsagn om inline vs. embedded vs.
>external style sheets, men det giver ikke så meget mening for mig, så
>jeg spørger lige her:
>inline: Hvornår er de overhovedet brugbare?
I princippet så lidt som muligt. Brug klasser i stedet og deklarér
layout'et i et stylesheet.
I praksis: Når der er undtagelser fra den generelle layout (fx
billedstørrelser).
>embedded vs. external: External stylesheets beskrives som værende at
>foretrække lige så snart der er tale om noget der skal bruges på flere
>sider. Der hentydes meget til maintainability her, men det argument
>falder jo væk hvis man strukturerer sin PHP kode ordentligt.
Det er fsv. rigtigt - hvis det er samme person, som laver kode og
layout. På større sites er der oftest en arbejdsdeling mellem koder og
layouter.
Og for mig virker det lidt bagvendt, at man skal ind i en PHP/ASP
osv.-fil for at ændre en farve fra gul til grøn, når man kan gøre det i
en CSS-fil.
Adskillelsen mellem form og indhold gør det fx også muligt for
CMS-systemer at ændre layout på en meget enkel måde.
>Et andet argument peger på caching af style sheets, men så render vi ind
>i noget med throughput vs. latency. Et external style sheet kræver jo en
>ekstra request fra browser til server, om det så bare er for at bekræfte
>cache hit, hvor et embedded style sheet til gengæld ikke kan udnytte
>cache på samme måde. Der vil altid være et tradeoff her,
Det er rigtigt, at det er et tradeoff. Men igen er vi ude i marginaler.
Et ekstra request er fx sjældent noget man bekymrer sig om, når man skal
afgøre, om der skal være 2 eller 3 billeder på en side.
Ofte vil et stylesheet være relativt omfattende, så mit gæt er, at
caching "vinder" på større sites.
>så jeg kunne
>godt tænke mig at vide om der er nogen der kender til interessante
>artikler om det emne på nettet.
Det kan jeg ikke lige ryste op af ærmet.
>Eller drejer det sig om selv at gå i
>gang med en lommeregner?
>Andre betragtninger?
Jeg ville nok bekymre mig mere om logisk struktur og en konsistent
layout end de sidste marginaler i loadtiden.
XFUT: dk.edb.internet.webdesign
(Betyder: Dette indlæg sendes i begge grupper og svar henvises til
..webdesign, så diskussionen kan fortsætte dér.)
Mvh. Jørn
--
Jørn Andersen,
Brønshøj