!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '2014454605448880'); // Insert your pixel ID here. fbq('track', 'PageView'); $(window).on('load', function() { var _dcq = _dcq || []; var _dcs = _dcs || {}; _dcs.account = '8209758'; (function() { var dc = document.createElement('script'); dc.type = 'text/javascript'; dc.async = true; dc.src = '//tag.getdrip.com/8209758.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(dc, s); })(); });

CSS3 - mine favoritter

 

Nå som nettlesere begynner å støtte mer og mer av CSS3 spesifikasjonen, begynner det å bli mulig for oss webutviklere å ta det i bruk. Jeg skriver derfor denne artikkelen som tar for seg noen av de viktigste endringene i den nye versjonen.

Hva er CSS3

CSS, eller Cascading Style Sheet, er et språk som brukes til å beskrive utseende til websider. Dette innebærer alt fra tekstformattering til layout av siden. Generelt sett skriver man selve innholdet (teksten) i et annet språk, HTML, og bruker så CSS til å endre på hvordan innholdet skal presenteres (hvor menyen er, hva som skal ha runde hjørner, marginer, skriftstørrelser osv.)

CSS3 er den nyeste versjonen av dette språket, og gir webutviklere mer fleksibilitet til utforming av websider.

Hva er nytt i CSS3?

Her kommer en liste med de endringene jeg liker best til nå. Har du en eldre nettleser (Internet Explorer versjon 8 eller lavere) vil ikke mine eksempler vises, men det kan du fort endre !

Runde hjørner ( border-radius )

Dette er en liten endring som vil spare verden for mye tid. Runde hjørner har selvsagt alltid vært mulig i webverden, men ikke like enkelt som nå. Tidligere var det vanlig å lage 4 bilder av hvert hjørne, og enten legge det i hjørnene av en tabell med 9 celler, eller å gjøre det slik .

Slik gjør man det med CSS3:

<div id="erna" />

#erna {
  background-color: #aaa;
  border-radius: 20px;
  width: 200px;
  height: 200px;
}

Skygger ( box-shadow )

Som med de runde hjørnene, er dette også en "komfortendring" for webutviklere. Det har blitt latterlig enkelt å legge til skygger i et element:

<div id="darkwing_duck" />

#darkwing_duck {
  width: 200px; height: 200px;
  border-radius: 10px;
  background-color: #eee;
  box-shadow: 5px 5px 20px #444;
}

Gjennomsiktighet ( opacity )

Denne funksjonen har jeg brukt i flere år uten å være klar over at det er en del av CSS3 spesifikasjonen - den har tydligvis vært støttet i lang tid. Den brukes ofte til å gi en ekstra effekt når man tar musa over et element, slik som følgende eksempel:

<img id="madcat" src="cat.jpg" />

#madcat:hover {
  opacity: 0.6;
}

Webfonter ( font-face )

Tidligere har det vært få valgmuligheter når det gjelder fonter på web. Problemet er at forskjellige nettlesere og operativsystemer har tilgang på forskjellige fonter, så for å være sikker på at sidene skal se likt ut overalt er utvalget lite .

Dette endret seg i CSS3 med font-face, som gir oss muligheten til å bruke helt vilkårlige fonter ved å la brukerene laste de ned først.

<p id="proverb"> ... </p>

@font-face {
  font-family: 'Sacramento';
  font-style: normal;
  font-weight: 400;
  src: local('Sacramento'),
       url(Sacramento.woff)
       format('woff');
}

#proverb {
  font-family: Sacramento;
}

The horse had cooperation issues, but with pressure from everyone, he saved the day.

"Multiple Columns" ( column-* )

I CSS3 har vi nå muligheten til å dele opp tekst i flere kolonner, på samme måte som i aviser. OBS! Fungerer ikke i Internet Explorer!

<p id="quote"> ... </p>

#quote {
  column-count: 3;
  column-gap: 3;
}
When the manager had to eat all the sticks, the sticks had no issues except for problems with the school. Nobody thought that the school had anything to do with the issues of the beforementioned character, but everyone thought they had to buy it as soon as the possibility would be arisen. Then it happened. Everyone had to cry, except someone. But it was bitter-sweet and delicious and tasted kind of like when someone walks down a lane and the lane has a shadow. Except it didnt; it was all a lie, and this is really the issues of modern day, fictional societies.

- Sarah Palin

Animasjoner ( animation , transition )

Vi har nå fått to nye metoder for å animere HTML-elementer på: animate og transition . Begge to brukes til å visualisere endringer av CSS-attributter som top , background-color eller font-size. Hovedforskjellen er at du med transition bare kan animere endringer fra et startpunkt til et sluttpunkt (f.eks. fra top: 0px; til top: 50px; ), ofte brukt i kombinasjon med :hover, mens du med animate kan ha flere steg imellom, noe som gir deg større fleksibilitet.

En annen forskjell er at animate kan loope, noe som demonstreres under; monsteret animeres vha. transition som stopper opp når den når endepunktet sitt (hjørnet nede til høyre), mens teksten animeres med animate . OBS! Fungerer ikke i Internet Exlorer.

<div id="wrapper">
  <img src="discotime.png" id="monster" />
  <p id="discotime">Discotime!</p>
</div>

#wrapper {
  position: relative;
}

#monster {
  transition: transform 2s 0s, left 2s 0s, top 2s 0s;
  position: absolute;
}

#wrapper:hover #monster {
  transform: rotateZ(3600deg);
  top: 200px;
  left: 200px;
}

#discotime {
  display: none;
  position: absolute;
}

@keyframes discotime {
    0% { top: 50px; left: 50px; font-size: 40px; color: red;
         background-color: yellow; }
   20% { top: 260px; left: 180px; font-size: 50px; color: gray;
         background-color: blue; }
   40% { top: 180px; left: 240px; font-size: 60px; color: blue;
         background-color: green; }
   60% { top: 240px; left: 120px; font-size: 60px; color: green;
         background-color: gray; }
   80% { top: 80px; left: 180px; font-size: 50px; color: gray;
         background-color: red; }
  100% { top: 50px; left: 50px; font-size: 40px; color: red;
         background-color: yellow; }
}

#wrapper:hover #discotime {
  animation: discotime 1s infinite;
  display: block;
}

Discotime!

Kan vi bruke CSS3 ?

Svaret er: Ja - men ikke alt i CSS3. Som man kan se på denne listen , er en stor del av CSS3 uten nettleserstøtte per dags dato - særlig for Internet Explorer.

Det er også slik at man må bruke prefiksene "-webkit-", "-moz-", "-o-" og "-ms-" foran visse CSS3 attributter for å støtte alle nettleserene, noe som gjør det mer tungvindt å bruke. Grunnen til dette er at nettleserene ønsker å signalisere at implementasjonen fortsatt er eksperimentell, så dette vil bli bedre med tiden.

Men som alltid når det gjelder layout, er det ikke superviktig at alt ser helt identisk ut i alle nettlesere. Jeg legger gjerne på goodies (som runde hjørner eller skygger) for de nettleserene som støtter dette, så lenge det ser bra ut uten òg.

Likte du det du leste?

Legg inn navnet og epostadressen din, så blir du varslet når neste artikkel er ute

Få varsel når nye bloggposter er ute!

Noe du lurer på?

Har du spørsmål, kommentarer eller noe annet du lurer på? Send oss en melding i dette skjemaet:

Ta kontakt:

Navn

Forespørselstype

Epostadresse

Melding

Likte du det du leste?

Legg inn navnet og epostadressen din, så blir du varslet når neste artikkel er ute