Måttenheter i CSS: Skillnad mellan sidversioner

Från Webbling
Hoppa till: navigering, sök
Ingen redigeringssammanfattning
Rad 1: Rad 1:
Vi har nu tittat på ett par CSS-egenskaper som är viktiga för att kunna skapa layout, det är <code>width</code> och <code>height</code>. Dessa används för att styra bredd och höjd på [[block-element]]. För att kunna använda oss av dessa på ett bra sätt måste vi lära oss lite om de olika måttenheter som är tillgängliga i [[CSS]].
Vi har nu tittat på ett par CSS-egenskaper som är viktiga för att kunna skapa layout, det är <code>width</code> och <code>height</code>. Dessa används för att styra bredd och höjd på [[block-element]]. För att kunna använda oss av dessa på ett bra sätt måste vi lära oss lite om de olika måttenheter som är tillgängliga i [[CSS]].
Observera att alla måttenheter i CSS måste följa direkt efter siffrorna, annars kommer det inte att fungera. Följande är bra <code>80%</code>, medan följande ''inte'' kommer att fungera <code>80 %</code>. Så se upp med det!
Det finns ett enda värde som inte behöver någon efterföljande enhet och det är talet noll. Anledningen till det är förstås att 0% är samma som 0em, som är samma som 0px, osv...


Den första enhet som vi ska titta på är ”<code>[[px]]</code>”, vilket är en [[CSS-pixel]]. Definitionen för en ”<code>[[px]]</code>”, skiljer sig lite ifrån vad vi vana att en [[pixel]] är...
Den första enhet som vi ska titta på är ”<code>[[px]]</code>”, vilket är en [[CSS-pixel]]. Definitionen för en ”<code>[[px]]</code>”, skiljer sig lite ifrån vad vi vana att en [[pixel]] är...
Rad 10: Rad 14:


Rent generellt kan du utgå ifrån att <code>px</code> är mer eller mindre en pixel eller i alla fall att det är en rätt så liten måttenhet. Faktum är att du på riktigt högupplösande skärmar kan ange bråkdelen av en pixel.
Rent generellt kan du utgå ifrån att <code>px</code> är mer eller mindre en pixel eller i alla fall att det är en rätt så liten måttenhet. Faktum är att du på riktigt högupplösande skärmar kan ange bråkdelen av en pixel.
Om du skulle använda <code>px</code> för att skapa en box skulle du göra något i stil med detta:
<syntaxhighlight lang="css">
.enBox {
  width: 800px;
  height: 200px;
}
</syntaxhighlight>
Ovanstående skulle skapa en klass vid namn <code>enBox</code> och allt som använder den klassen skulle presenteras som cirka 800x200 pixlar stort.
== Procent ==
Procent är ofta en bra måttenhet. Anger man saker i procent, är det lätt att få till en sida som ser bra ut oavsett hur stort användarens webbläsarfönster är.
När man anger procent, anger man oftast hur stort elementet ska vara i förhållande till föräldraelementet, dvs inte hela sidan eller hela webbläsarfönstret.
Om man anger ett procentuellt värde för en teckensnittsstorlek, så kommer det vara i förhållande till hur stort teckensnittet är just där regeln används.
== <code>em</code> ==
Den beräknade storleken på teckensnittet som används i elementet, antingen ärvd ifrån ett föräldraelement eller satt explicit för elementet i fråga. Om man anger det på ett <code>font-size</code>-element, beräknas storleken utifrån den teckenstorlek som ärvts ifrån föräldraelementet.
Man använder sig ofta av <code>em</code> för att skapa layouter som är skalbara till olika skärmstorlekar.
== <code>rem</code> ==
Den beräknade storleken på teckensnittet som används i på rotelementet. Används ofta för att skapa skalbara layouter, där man vill komma åt teckenstorleken som gäller för "hela" dokumentet.
== <code>ex</code> ==
Höjden på lilla x i fonten. Återigen används denna enhet för att skapa skalbara layouter.
== <code>vh</code>
En hundradel av den synliga skärmdelens höjd.
== <code>vw</code>
En hundradel av den synliga skärmdelens bredd.
== Andra enheter ==
Det finns andra enheter, såsom t.ex. <code>mm</code>, <code>cm</code> och <code>in</code>. På grund av hur de är definierade är de dock inte pålitliga. Vi kan inte utgå ifrån att <code>1cm</code> verkligen motsvarar en centimeter på skärmen. Det är därför lika bra att undvika dessa enheter.

Versionen från 30 november 2014 kl. 18.41

Vi har nu tittat på ett par CSS-egenskaper som är viktiga för att kunna skapa layout, det är width och height. Dessa används för att styra bredd och höjd på block-element. För att kunna använda oss av dessa på ett bra sätt måste vi lära oss lite om de olika måttenheter som är tillgängliga i CSS.

Observera att alla måttenheter i CSS måste följa direkt efter siffrorna, annars kommer det inte att fungera. Följande är bra 80%, medan följande inte kommer att fungera 80 %. Så se upp med det!

Det finns ett enda värde som inte behöver någon efterföljande enhet och det är talet noll. Anledningen till det är förstås att 0% är samma som 0em, som är samma som 0px, osv...

Den första enhet som vi ska titta på är ”px”, vilket är en CSS-pixel. Definitionen för en ”px”, skiljer sig lite ifrån vad vi vana att en pixel är...

Standardpixel

Som du kanske vet är en pixel ett bildelement på skärmen. Varje pixel byggs upp av minst tre sub-pixlar, en röd, en grön och en blå. När dessa lyser i olika styrka så bildas olika färgkombinationer. Pixlarna är så små, och ligger så nära varandra, att du oftast inte kan urskilja dem med blotta ögat. Tillsammans bildar dessa pixlar det innehåll du ser på skärmen. En vanliga HD-skärm har 1920 x 1080 pixlar.

CSS-pixel eller px

CSS px är inte riktigt det samma som en pixel på en vanlig skärm. Då olika skärmar har olika egenskaper, de är olika stora, de har olika upplösning osv. Pga detta kan det skilja sig stort på vad en pixel är ifrån skärm till skärm. Därför har W3C valt att definiera px på så sätt att den blir mer oberoende av olika typer av hårdvara och mer likformig. Tanken är att det ska gå 96px på en tum. Detta stämmer dock enbart om du har ställt in din monitor korrekt. Den verkliga definitionen på en px är mer komplicerad och baseras sig på hur man ser ett bildelement på ett visst avstånd.

Rent generellt kan du utgå ifrån att px är mer eller mindre en pixel eller i alla fall att det är en rätt så liten måttenhet. Faktum är att du på riktigt högupplösande skärmar kan ange bråkdelen av en pixel.

Om du skulle använda px för att skapa en box skulle du göra något i stil med detta:

.enBox {
  width: 800px;
  height: 200px;
}

Ovanstående skulle skapa en klass vid namn enBox och allt som använder den klassen skulle presenteras som cirka 800x200 pixlar stort.

Procent

Procent är ofta en bra måttenhet. Anger man saker i procent, är det lätt att få till en sida som ser bra ut oavsett hur stort användarens webbläsarfönster är.

När man anger procent, anger man oftast hur stort elementet ska vara i förhållande till föräldraelementet, dvs inte hela sidan eller hela webbläsarfönstret.

Om man anger ett procentuellt värde för en teckensnittsstorlek, så kommer det vara i förhållande till hur stort teckensnittet är just där regeln används.

em

Den beräknade storleken på teckensnittet som används i elementet, antingen ärvd ifrån ett föräldraelement eller satt explicit för elementet i fråga. Om man anger det på ett font-size-element, beräknas storleken utifrån den teckenstorlek som ärvts ifrån föräldraelementet.

Man använder sig ofta av em för att skapa layouter som är skalbara till olika skärmstorlekar.

rem

Den beräknade storleken på teckensnittet som används i på rotelementet. Används ofta för att skapa skalbara layouter, där man vill komma åt teckenstorleken som gäller för "hela" dokumentet.

ex

Höjden på lilla x i fonten. Återigen används denna enhet för att skapa skalbara layouter. == vh En hundradel av den synliga skärmdelens höjd. == vw En hundradel av den synliga skärmdelens bredd.

Andra enheter

Det finns andra enheter, såsom t.ex. mm, cm och in. På grund av hur de är definierade är de dock inte pålitliga. Vi kan inte utgå ifrån att 1cm verkligen motsvarar en centimeter på skärmen. Det är därför lika bra att undvika dessa enheter.