Heddas logga

Webb­utveckling

Heddas logga

Text

Det är mycket du kan ändra på genom CSS. Till en början kommer du att få veta hur du byter typsnitt. Men sen kommer du att se hur man kan använda CSS för att göra texten fetstilt, kursiv och geneomstruken.

Typsnitt

Det finns tre stora klasser med typsnitt och som man brukar dela upp alla typsnitt i:

  1. Serif
  2. Sans-serif
  3. Monospace

Det finns lite olika åsikter om vilken sorts tysnitt som är lättast att läsa. Serif-typsnitt är populära i tryckt media. Medan sans-serif är populärt på skärmar. Monospace-typsnitt är populärt i programmeringsmiljöer.

Serif

Ett serif-typsnitt har små hakar i ändarna på bokstäver och är det som är standard i webbläsaren. Times New Roman är ett typiskt typsnitt som anväder sig utav serifer.

En bild som highlightar seriferna

Sans-serif

Ett sans-serif-typsnitt är ett typsnitt utan serifer (sans betyder utan). Hela det här stycket är skrivet i ett sans-serif-typsnitt. Ett typsikt exempel är annars Arial eller Comic Sans.

Monospace

I ett monospace-typsnitt tar alla tecken lika breda vilket gör att tecknen radar upp sig under varandra. Gamla skrivmaskiner använde sig utav monospace för att för att få rätt på när de skulle byta rad och så vidare.

I CSS har man utöver de tre stora facken två andra:

  1. Cursive
  2. Fantasy

Cursive

Kursiva typsnitt är designade för att efterlikna handskriven text till viss mån. Hit räknas bland annat Comic Sans. Comic Sans är (som namnet antyder) dessutom ett sans-serif-typsnitt.

Fantasy

Fantasy-typsnitt är inte typ Sagan om ringen-typsnitt (de faller under kursiva) utan andra sorters dekorativa typsnitt som kan passa till rubriker.

Terminologi

Bild som visar namnen på olika delar av tryckt text

Specificera typsnitt

Det finns två sätt du kan specificera vilket typsnitt som gäller:

  1. font-famliy
  2. @font-face

font-family

Genom att ange font-family så letar webbläsaren efter ett typsnitt med motsvarande namn på datorn. Om datorn inte hittar typsnittet så kör den på standardtypsnittet. (Du kan hitta en lista på typsnitt som alla datorer borde kunna använda här)

p{
	font-family: helvetica;
}

Detta är exempel med helvetica. Det är sans-serif. Om du vill ha ett mer specifikt typsnitt, men är rädd för att användaren inte har det på datorn så kan man ange en backup så här:

p{
font-family: helvetica, monospace;
}

Om din dator inte har helvetica installerat så kommer den att visa det här med monospace. Oftast är det en bra idé att lägga upp en backup som är snarlik den man vill ha. Och då borde vi ha angett sans-serif istället för monospace i vår CSS-kod.

@font-face

Om du vill vara säker på att din användare ser hemsidan med rätt typsnitt så kan du skapa ett eget type-face där du laddar in ett typsnitt.

@font-face{
	font-family: 'MittTypsnitt'
	src: url('platsen den ligger på')
}
p{
	font-family: MittTypsnitt;
}

I din url kan du antingen länka till en plats på datorn eller en plats på internet.

Google Fonts

Det kanske lättaste sättet att få det typsnitt man vill ha är att använda sig utav fonts.google.com. Där kan man välja ett typsnitt som man gillar. Där finns HTML-kod du kan kopiera in i din header och sen kan du använda det som anges på hemsidan.

Här är ett exempel du nog inte har på din dator men som vi kan ladda hem från Google när sidan laddas.

Teckenstorlek

Man brukar mäta teckenstorleken på tre olika sätt:

  1. Pixlar, px
  2. Procent, %
  3. Em

Standardstorleken för typsnitt i webbläsaren brukar vara 16 px vilket då motsvarar 100 % och 1 em.

För att bestämma teckenstorleken skriver du så här i din CSS-kod:

p{
	font-size: 12px;
}
				

Den här texten är skriven i 12 px. Den är tydligt mindre än den som är i 16 px.

px

I skrivprogram brukar man kunna välja teckenstorlek i punkter. Lite slarvigt har man tidigare kunnat säga att en punkt är ungefär lika stor som en pixel. Nu när skärmar har blivit pixel-tätare så kan man inte längre uttrycka sig på det viset. Punkt-storlekarna kommer från när tryckpressarna uppfanns på 1400-talet och lever kvar idag.

Eftersom vi inte vet hur stor en pixel på en skärm är så vet vi inte hur många det går på en punkt, därför har man frikopplat det och mäter teckenstorleken i antal pixlar. Så om teckenstorleken är 16 px så är avståndet mellan cap height och baseline 16 px.

procent

Om du anger teckenstorleken i procent så utgår du från standardstorleken på 16 px. Så om du anger att något ska vara dubbelt så stort: så här typ, så skriver du:

p{
	font-size: 200%;
}

em

En em är oftast lika med bredden på stora bokstaven M. Det vanligt att mäta i em:s när man jobbar i typsättningsprogrammet LaTeX.

p{
	font-size: 1.5em;
}

Den här texten är skriven i 1.5 em vilket är samma sak som 150 % och 24 px.

Standardstorlekar

16 pixel-skalan
Element Pixlar Procent Em
h1 32 px 200 % 2 em
h2 24 px 150 % 1.5 em
h3 18 px 133 % 1.125 em
body 16 px 100 % 1 em

Övningar

Jobba vidare med din hemsida med den fiktiva föreningen.

  1. Ha ett fantasy-typsnitt på rubriken till föreningen
  2. Gör huvudrubriken 5 gånger så stor som vanlig text.
  3. Ha ett sans-serif-typsnitt på övriga rubriker
  4. Ha ett annat än standard-typsnittet på brödtexten
  5. Lägg till en länk till en wikipedia-sida som är relevant för föreningen.
  6. Gör alla länkar på sidan till storleken 0.75 em.
  7. Hitta fem olika typsnitt från varje kategori på Googles typsnittssida som du tycker är användbara.

Textdekorering

Vi har tidigare kollat på HTML-kommandon som ändrar textens utseende:

HTML-kommandon
Kommando Effekt
<b> fetstilt (Bold)
<i> kursivt (Italics)
<s> Struket
<u> Understruket
<sup> upphöjt (SUPer script)
<sub> nedsänkt (SUB script)

Idag ska vi kolla på hur vi kan göra samma sak med CSS-kod.

Fetstilt

Om man vill göra sin text fetstilt med CSS skriver vi så här:

p{ /* Stycken */
	font-weight: bold; /* Fetstilt */
}
a{ /* Länkar */
	font-weight: normal /* Normalt */
}
Diskussionspunkt

Varför kan man tänka sig behöva "normal" font-weight?

Kursivt

Om du vill göra din text kursiv eller sned med CSS:

p{
	font-style: italic;
}
a{
	font-style: oblique;
}

Vill man återställa från kursivt till normalt så kan man ange font-style: normal;

Understruket

Här kommer koden för att stryka under text med CSS:

p{
	text-decoration: underline;
}

Genomstruket

Här kommer koden för att stryka genom text med CSS:

	p{
	text-decoration: line-through;
}

Överstruket

Här kommer koden för att stryka ovanför text med CSS:

p{
	text-decoration: overline;
}

Superscript

Här kommer koden för att höja upp text med CSS:

p{
	vertical-align: super;
}

Subscript

Här kommer koden för att sänka ner text med CSS:

p{
	vertical-align: sub;
}

Ny dekorering

Med hjälp av CSS kan vi förändra vår text ytterliggare än vad vi kunnat tidigare med HTML.

Transformering

Genom kommandot text-transform så kan vi göra om text till stora eller små bokstäver:

Uppercase

Här kommer koden för att göra alla bokstäver till versaler med CSS:

p{
	text-transform: uppercase;
}
Lowercase

Här kommer koden för att göra alla bokstäver till gemener med CSS:

p{
	text-transform: lowercase;
}
Capitalize

Här kommer koden för att göra första bokstaven till versal med CSS:

p{
	text-transform: capitalize;
}

Avstånd

Radavstånd

Era svenskalärare har genom tiderna tjatat om att ni ska ha 1.5 i radavstånd. När man väljer radavstånd så är det bra att välja ett avstånd som är större än avståndet mellan orden i texten. Detta för att det hjälper ögat att följa texten vågrätt istället för lodrätt. Det här stycket är skrivet med radhöjden 1.4em. Radavstånd rekommenderas att mätas i em istället för px.

p{
	line-height: 1.4em;
}

Mellan ord

Den här texten har avståndet 0.5em mellan alla ord, standard är 0.25em.

p{
	word-spacing: 0.5em;
}

Mellan tecken

Den här texten har avståndet 0.1em mellan varje tecken, standarden är ännu lägre.

p{
letter-spacing: 0.1em;
}

Alignment

Detta har inget med Dungeons and Dragons att göra, utan handlar istället om hur texten fyller sidan. Det finns fyra alternativ:

  1. left, som vänsterjusterar (standard)
  2. right som högerjusterar
  3. center, som centrerar
  4. justify, som alltid börjar längst till vänster och sluter längst till höger (om det når så långt)
p{
	text-align: justify;
}

Övningar 2

Fortsätt med din sida om din fiktiva förening.

  1. Gör all text högerjusterad
  2. Gör h1-rubriken centrerad
  3. Ändra radhöjden till 1.5em på texten
  4. Fyll på med mer text om din fiktiva förening. Vilka är medlemmar i den? (Detta är inte GDPR-säkert längre)
  5. Gör ett stycke med annorlunda avstånd mellan orden.
  6. Gör ett annat stycke med annorlunda avstånd mellan tecken.
  7. Alla rubriker ska vara med bara VERSALER! (använd CSS för att lösa detta)
  8. Gör h2-rubriker kursiva