CSS

Her kan du diskutere koding generelt sett. Har du noensinne lurt på hvordan du gjør enkelte ting i php, MySQL eller HTML, spør her! Koding forbundet med phpBB skal i et av de forumene, som oftest MOD-forumet, mens all koding som ikke har noe med phpBB å gjøre skal hit.

CSS

Innlegg Tomas » 10 Mai 2007, 21:54

CSS
I denne artikkelen skal jeg ta for meg de aller fleste funksjonene til CSS. CSS er et kodespråk som påvirker HTML-taggene.

Syntaks
CSS bruker denne oppbygningen:
Kode: Merk alt
HTML-tagg {
   egenkap: verdi;
   egenskap: verdi
}
Legg merke til at verdiene skilles med et semikolon (;).
Eksempel:
Kode: Merk alt
body {
   color: #000;
   background-color: #FFF
}
#FFF er det samme som #FFFFFF.
Hvis du vil at de samme verdiene skal gjelde for flere tagger, skill dem med komma (,):
Kode: Merk alt
p, div, span {
   color: #000;
   background-color: #FFF
}
For at koden bare skal gjelde for f. eks. <a>-er som er inni <p>-er som er inni <div>-er, gjør det slik:
Kode: Merk alt
div p a {
   color: #000;
   background-color: #FFF
}
For at koden skal gjelde alle tagger, bruker du *-tegnet:
Kode: Merk alt
* {
   color: #000;
   background-color: #FFF
}
Filer markeres med url("fil"):
Kode: Merk alt
* {
   color: #000;
   background-image: url("bilde.gif")
}


Sette inn i HTML-filen
CSS kan settes inn i HTML på re måter:
  • Ekstern fil: Du kan lagre CSS som en egen .css-fil. For å benytte kodene i HTML-filen, kan du skrive denne koden i <head>:
    Kode: Merk alt
    <link rel="stylesheet" type="text/css" href="fil.css">
  • Direkte i filen: Hvis du bare vil bruke kodene i den ene filen, kan du sette de inn direkte i filen:
    Kode: Merk alt
    <style type=”text/css">
    <!--
    body {
       background-color: #FFF
    }
    -->
    </style>
    Dette skal også være inni <head>-taggen.
  • Direkte i HTML-koden: Det finnes tre måter å sette CSS inn i en HTML-kode på: style, id og class. Hvis du vil bruke CSS på bare en bestemt kode på hele siden, kan du bruke style:
    Kode: Merk alt
    <body style="background-color: #FFF">

Importerte filer
@import er en nyttig funksjon i CSS. Den henter info fra andre CSS-filer:
Kode: Merk alt
@import url("fil.css");


Class
Class kan brukes når du vil bruke samme kode på flere HTML-tagger i filen.
CSS:
Kode: Merk alt
p.avsnitt {
   color: #00F;
}

HTML:
Kode: Merk alt
<p class="avsnitt">Bla bla bla...</p>
Bla bla bla... vil i dette eksemplet få blå skriftfarge (#00F er det samme som #0000FF):
Bla bla bla...


ID
ID er nesten det samme som class, men det bør forøvrig kun brukes èn gang per side.
CSS:
Kode: Merk alt
#gul {
   background-color: #FF0
}
Alt med id="gul" vil få gul bakgrunn.
HTML:
Kode: Merk alt
<td id="gul">Bla bla bla...</td>
Cellen vil få gul bakgrunn.

Kodene

Font
Font bestemmer skrifttype og -størrelse:
Kode: Merk alt
p {
   font-family: Arial, Helvetica, sans-serif;
   font-size: 13px;
   font-weight: 400;
   font-style: normal;
   font-variant: normal
}
  • font-family: Bestemmer hvilken skrifttype som skal brukes. Hvis nettleseren ikke finner Arial, vil den bruke Helvetica. Finnes ikke denne heller på maskinen, brukes en sans-serif skrifttype; med andre ord en skrifttype uten pynt (eksempel: Tahoma). serif er skrifttyper med pynt (eksempel: Comic Sans MS).
  • font-size: Se under Størrelser, eller bruk X: xx-small er nettleserens minste skriftstørrelse. x-small er en halv gang større, small er en halv gang større enn x-small, og slik fortsetter det gjennom medium, large, x-large og xx-large. En annen ting du kan bruke er smaller og larger: Smaller vil gjøre teksten en tredel mindre enn den forrige, og larger vil gjøre den en halv gang større.
  • font-weight: Bestemmer hvor tykk teksten skal være.
  • font-style: Har verdiene normal, italic og oblique. Italic vil bruke den skråstilte versjonen av skrifttypen. oblique gjør at nettleseren skråstiller den normale versjonen av skrifttypen.
  • font-variant: Har valgene small-caps og normal. small-caps vil gjøre små bokstaver store, men med en mindre skriftstørrelse.
Hvis du vil oppgi alle kodene i en, kan du gjøre det i denne rekkfølgen: style variant weight size family
Kode: Merk alt
p {
   font: normal normal 400 13px Arial, Helvetica, sans-serif
}


Text
Nesten det samme som font, men bestemmer mer om selve teksten:
Kode: Merk alt
p {
   text-align: left;
   text-decoration: none;
   taxt-indent: 10px;
   text-transform: none
}
  • text-align: Bestemmer om teksten skal være venstrestilt, midtstilt osv. Har valgene left, center, right og justify.
  • text-decoration: underline understreker teksten, overline lager linje over teksten og line-through stryker den ut.
  • text-indent: Bestemmer innrykk. Se under Størrelser.
  • text-transform: Bestemmer om det skal være store eller små bokstaver. uppercase lager BARE STORE BOKSTAVER, lovercase lager bare små bokstaver og capitalize gjør at Alle Ord Får Stor Forbokstav.

Background
Background lar deg bestemme bakgunner:
Kode: Merk alt
body {
   background-color: #FFF;
   background-image: url(fil.gif);
   background-repeat: no-repeat;
   background-position: center;
   background-attachment: scroll
}
  • background-color: Bakgrunnsfarge.
  • background-image: Bakgrunnsbilde.
  • background-repeat: Bestemmer om bakgrunnsbildet skal gjenta seg selv. repeat repeterer bildet begge veier, repeat-x repterer bildet vannrett, repeat-y loddrett og no-repeat lager bare ett bilde som ikke repeteres.
  • background-position: Hvor bakgrunnen skal være. Kan angis på to måter: Enten med avstand fra øverste venstre hjørne, f. eks. 20px 20px (se størrelser), hvor den første verdien oppgir avstanden fra venstre kant og den andre fra øverste kant. Den adre muligheten er med valgene left top / top left, top, right top / top right, left, center, right, left bottom / bottom left, bottom, right bottom / bottom right. Kan du engelsk, skal det ikke være nødvendig å forklare hva disse betyr ;)
  • background-attachment: Har valgene scrolll og fixed. scroll gjør at bakgrunnen scroller i takt med siden, og fixed gjør at den sitter på samme sted på skjermen uansett hvor man scroller.
Med background kan man også oppgi alle kodene i en. Rekkefølge: color image repeat attachment position Eksempel:
Kode: Merk alt
background: #FFF url(fil.gif) no-repeat scroll center;


Margin
Margin kan brukes til å sette en marg på ting.
Kode: Merk alt
body {
   margin-left: 10px;
   margin-top: 1cm;
   margin-right: 8mm;
   margin-bottom: 4pt
}
Dette eksemplet er nok så selvforklarende at det ikke er nødvendig at jeg også begynner å forklare... For å oppgi alle i en, brukes denne rekkefølgen: top right bottom left
Kode: Merk alt
margin: 1cm 8mm 4pt 10px;
Hvis du vil ha samme størrelse på margene, holder dette:
Kode: Merk alt
margin: 10px;


Border
Border kan brukes til å sette en linje rundt ting.
Kode: Merk alt
body {
   border-left: 1px;
   border-top: 1cm;
   border-right: 1mm;
   border-bottom: 1pt;
   border-style: solid;
   border-color: #000;
}
Som du ser er det mye av det samme som i margin her. I tillegg kommer style og color, hvor color også forklarer seg selv. Style har valgene solid, double, dashed, dotted, inset, outset, ridge, groove og none og lar deg bestemme om linjen skal være hel, stiplet osv. solid lager en hel linje, double gjør den dobbel, dashed blir stiplet og dotted lager prikker. Resten (unntatt none) gir borderen forskjellige 3D-effekter.
Hvis du vil angi alle verdiene i et eksempel, bruk denne rekkefølgen: width style color
Kode: Merk alt
border: 2px solid #000;


Padding
Padding lager en marg innenfor borderen og bruker akkurat samme egenskaper som margin:
Kode: Merk alt
body {
   padding-left: 10px;
   padding-top: 1cm;
   padding-right: 8mm;
   padding-bottom: 4pt
}
Bruk den samme rekkefølgen som i margin hvis du vil ha alle kodene i en egenskap (padding:).

Andre CSS-koder

Width
Bestemmer bredden på ting. Se under Størrelser.
Kode: Merk alt
div {
   width: 10in
}


Height
Bestemmer høyden på ting. Se under Størrelser.
Kode: Merk alt
div {
   height: 10in
}


Color
Bestemmer skriftfarge.
Kode: Merk alt
p {
   color: #000
}


Float
Gjør at du kan velge hvor objektet skal ligge i forhold til andre objekter.
Kode: Merk alt
div {
   float: left
}
Har verdiene left, right og none.

Clear
Gør at du kan plassere objektet i forhold til et objekt med float-egenskap.
Kode: Merk alt
div {
   clear: both
}
Ha verdiene left, right, both og none. left vil plasseres under et float-objekt med left, right under right, both under det forrige float-objektet med left eller right og none ved siden av forrige float-objekt.

Vertical-align
Gjør at du kan skrive hevet eller senket skrift.
Kode: Merk alt
p {
   vertical-align: normal
}
Har verdiene baseline, sub, super, top, middle, bottom, text-top, text-bottom og normal. Kan også ha angis med det som står under Størrelser.

Line-height
Lar deg angi lnjeavstanden.
Kode: Merk alt
p {
   line-height: normal
}
Bruk enten det som er angitt under Størrelser eller normal.

Letter-spacing
Lar deg forstørre avstanden mellom bokstavene:
Kode: Merk alt
p {
   letter-spacing: .2px
}
Eller du kan gjøre den mindre:
Kode: Merk alt
p {
   letter-spacing: -.2px
}


Word-spacing
Lar deg forstørre mellomrommene:
Kode: Merk alt
p {
   word-spacing: .2px
}
Eller du kan gjøre dem mindre:
Kode: Merk alt
p {
   word-spacing: -.2px
}


Måleenheter
Størrelser kan angis med piksler (px), centimeter (cm), millimeter (mm), punkter (pt), tommer (in), pica (pc), X (ex), em (em) eller prosent (%). X regnes ut fra skrifttypens lille x. 10ex, f. eks., er ti ganger så stort som x. Em beregnes utifra nettleserens standardstørrelse, og % er relativ til elementets egentlige størrelse/posisjon.

Kommentarer
Kommentarer ignoreres av nettleseren.
Kode: Merk alt
/*Kommentar her.*/


Ofte stilte spørsmål

Kodene virker ikke! Hva kan være feil?
Ikke alle HTML-tagger kan ha CSS. Hvis du for eksempel har skrevet <font style="color: #00F">, anbefaler jeg å bruke <p>. En annen feil som ofte blir gjentatt er at man blander HTML med CSS. For eksempel skal det ikke være bgcolor, men background-color.

Må CSS være installert på serveren for å virke?
CSS tolkes av nettleseren, ikke serveren. Ergo: Nei.

Kan jeg ha HTML-koder i CSS-koden?
Nei. Dessuten er det totalt unødvendig.


>>>> © Tomas Engebretsen <<<<
Sist endret av Tomas den 10 Des 2007, 21:33, endret 5 ganger.
Hilsen Tomas, oversettelses- og nedlastingsansvarlig
Bilde
Bilde
IKKE support på pm, e-post eller msn!
Tomas
PhpBB-frelst
PhpBB-frelst
 
Innlegg: 1072
Registrert: 03 Jan 2007, 00:16
Bosted: Hjemme

Innlegg Espenhh » 11 Mai 2007, 00:58

Meget bra. Hadde det ikke vært for at vi sannsynligvis skal mekke en ny KB når vi redesigner phpbb.no, så hadde jeg bedt deg poste den i KBen vår. Men satte den heller som sticky inntill videre :D
Hilsen Espen
:D Smil til verden, så smiler verden til deg! (Forhåpentligvis)
Espenhh
PhpBB-frelst
PhpBB-frelst
 
Innlegg: 3766
Registrert: 16 Mar 2003, 20:25
Bosted: Trondheim

Pseudo-klasser

Innlegg Tomas » 21 Jun 2007, 23:07

Vil bare legge til en liten artikkel om pseudo-klasser:
Pseudo-klasser er kjekke ting som gjør at man slipper å lage lange JavaScripts for å markere hva som skal skje når og hvor. De legges til etter taggen og en kolon (:).
Kode: Merk alt
a:link {
   color: #00F;
}

  • :link brukes på a-taggen. Unødvendig for Opera og Firefox, men i IE 6 og lavere kan det bli problematisk dersom :link ikke er lagt til etter det som skal være en vanlig link. I sistnevnte nettleser er man nødt til å angi verdier for både a:link, a:visited, a:active og a:hover, med mindre man vil bruke samme kode i alle tilstander (da holder det med bare a). I Opera og Firefox holder det med alltid med bare a foran vanlige linker.
  • :visited brukes også på a-taggen. Den markerer hva som skjer med besøkte linker.
  • :active bestemmer hva som skjer når noe er klikket på. Kan brukes på alle tagger.
  • :hover avgjør hva som skjer når man holder musepila over objektet.
  • :focus brukes på input og textarea. Den sier hva som skjer når man skriver noe inni disse.
  • :first-child markerer hva som skjer med første undertagg.
  • :first-line brukes på tekst, altså oftest på p-taggen. Den avgjør hva som skjer med den første linjen i teksten.
  • :first-letter brukes i samme tilfeller som :first-line, og bestemmer hva som skjer med den første bokstaven i teksten.

NB: IE 6 og lavere støtter kun pseudo-klasser på linker.

:!: Viktig: Dette er IKKE en supporttråd for CSS. Lurer du på noe, start et NYTT emne.
Hilsen Tomas, oversettelses- og nedlastingsansvarlig
Bilde
Bilde
IKKE support på pm, e-post eller msn!
Tomas
PhpBB-frelst
PhpBB-frelst
 
Innlegg: 1072
Registrert: 03 Jan 2007, 00:16
Bosted: Hjemme

Re: CSS

Innlegg cityking » 23 Sep 2009, 08:02

En ganske god guide
cityking
Mini-Super-Poster
Mini-Super-Poster
 
Innlegg: 77
Registrert: 20 Jan 2009, 11:05
Bosted: Bergen


Gå til Koding

Hvem er i forumet

Brukere som leser i dette forumet: Ingen registrerte brukere og 1 gjest

cron