Layout

CV, en första design

För att skapa en sida med ett CV sÄ Àr det i första hand en frÄga om att mÀrka upp text. NÀr detta Àr gjort och en struktur har skapats finns det utrymme att arbeta vidare med att skapa en personlig stil. Det CV som skapas i detta exempel Àr ett CV för en fiktiv karaktÀr.

Börja med att identifiera webbsidans komponenter och struktur.

StrukturmÀssigt sÄ kan vi dela upp det i följande element.

  • header, bestĂ„nde av rubrik, kontaktuppgifter och portrĂ€tt

  • main

    • section, med rubrik, tidsangivelse och resume.

    • efterföljande sektioner

Elementen kan Àven mÀrkas upp med ID för sektionerna för att möjliggöra fragments-navigation. Navigation, hypertext, Àr en möjlig förbÀttring vi kan göra av sidan för att utnyttja webbsidans styrkor. Kodad med HTML-element kan första delen se ut sÄhÀr.

Uppgift

Koda resten av CV sidan. Texten hittar du i engelska-uppgiften. NÀr du Àr klar sÄ kan du jÀmföra ditt resultat med det hÀr.

cv.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CV - Mario Mario</title>
</head>
<body>
  <header id="contact">
    <img src="https://via.placeholder.com/200x200?text=Mario+portrait" alt="Mario portrait">
    <h1>Mario Mario</h1>
    <h2>Plumber, princess rescuer and race car driver</h2>
    <h3>Contact Information</h3>
    <address>
      Phone: +39 1985 1985
      Email: mario@super.it
      Twitter: @supermariobro
    </address>
  </header>
  <main id="professionalexperience">
    <h1>Professional experience</h1>
    <section id="twentyseventeen">
      <h2><time datetime="2017">2017</time></h2>
      <p><strong>Princess rescuer and wedding crasher</strong>, self-employed, Various Kingdoms</p>
      <ul>
        <li>In charge of magic cap</li>
        <li>Controlled the art of shapeshifting</li>
        <li>Collected valuable power moons for profit</li>
        <li>Defeated numerous enemies, e.g. t-rexes and broodals</li>
      </ul>
    </section>

LĂ€nka ett CSS dokument

För att lÀnka ett extern CSS dokument sÄ behövs en lÀnk i sidans head-element. Skapa cv.css.

cv.html
<link rel="stylesheet" href="cv.css">

Sidan lÀser nu in stilarna frÄn det externa css-dokumentet.

Layout med CSS

Marios CV har en relativt enkelt struktur, det Àr en kolumns layout uppdelat i en header och en main för innehÄllet. Strukturen med dessa element och underliggande skapar vi för att gruppera sidans delar.

Sidan Àr en kolumn som Àr centrerad. Detta kan skapas genom att justera sidans bredd och marginaler. Egenskapen margin styr marginalen pÄ ett element, vÀrdet som ges styr top, bottom och left, right.

cv.css
body {
    margin: 0 auto;
    width: 60%;
}

Headern innehÄller portrÀttet, namn-rubriken och kontaktinformation med tillhörande rubriknivÄer. För att placera bilden kan vi anvÀnda egenskapen float. Skapa en klass för detta och koppla den till elementet.

cv.html
  <header id="contact">
    <img class="portrait" src="https://via.placeholder.com/200x200?text=Mario+portrait" alt="Mario portrait">
    <h1>Mario Mario</h1>
    <h2>Plumber, princess rescuer and race car driver</h2>
    <h3>Contact Information</h3>
    <address>
      Phone: +39 1985 1985
      Email: mario@super.it
      Twitter: @supermariobro
    </address>
  </header>

Ladda om sidan och bilden placeras nu till höger om texten, texten anpassar sig Àven till bildens storlek.

Float fungerar bra i vissa upplösningar, om du Àndrar storleken pÄ webblÀsarfönstret till att vara riktigt smalt sÄ kan du se att float fÄr problem.

Den andra delen av sidan Àr samlad i ett main element, den innehÄller huvuddelen av CV-informationen. Under detta Àr varje del strukturerad i en section med tillhörande rubrik. Marios fÀrdigheter och erfarenheter Àr sedan strukturerad i en o-ordnad lista, ul.

cv.html
  <main id="professionalexperience">
    <h1>Professional experience</h1>
    <section id="twentyseventeen">
      <h2><time datetime="2017">2017</time></h2>
      <p><strong>Princess rescuer and wedding crasher</strong>, self-employed, Various Kingdoms</p>
      <ul>
        <li>In charge of magic cap</li>
        <li>Controlled the art of shapeshifting</li>
        <li>Collected valuable power moons for profit</li>
        <li>Defeated numerous enemies, e.g. t-rexes and broodals</li>
      </ul>
    </section>

Typsnitt

Typsnittet som anvÀnds pÄ Mario sidan Àr en sÄ kallad sans-seriff. En seriff Àr klacken pÄ ett tecken och sans betyder utan, sÄ utan klack.

Visual Studio Code ger ett antal förslag och exempel pÄ fonter som kan anvÀndas nÀr css-egenskpen font-family anges. Egenskapen tar en eller flera fonter som vÀrde, dÀr den provar den första om den fungerar, den andra och sÄ vidare.

body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1rem;
}

Font-storleken rem Àr root em, den baseras pÄ root elementets font-storlek och det styrs av webblÀsaren. Om standardstorleken Àr vald sÄ kan du utgÄ frÄn att 1rem = 16 i fontstorlek.

Egna fonter

Att anvÀnda de föreslagna fonterna fungerar sjÀlvklart utmÀrkt, men för ett mer personligt uttryck för Mario sÄ anvÀnds en extern font frÄn Google fonts. För att anvÀnda en font dÀrifrÄn behöver du:

  1. Leta reda pÄ en font du vill anvÀnda.

  2. Klicka pÄ den.

  3. PÄ fontens sida vÀljer du + Select this style.

    1. VĂ€lj Regular 400 om du inte har andra behov.

  4. Öppna sidebaren med Selected family.

  5. Klicka pÄ Embed.

  6. Kopiera lÀnken till ditt html dokument.

  7. Kopiera CSS egenskapen font-family till ditt CSS dokument.

Marios CV fÄr Google fonten Roboto. Följande Àndringar görs. Att ge body elementet en font-family pÄverkar fonterna pÄ alla platser i dokumentet.

cv.html
<link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">

Google fonts Àr ett enormt bibliotek av gratis fonter du kan anvÀnda i dina projekt. Vill du lÀra dig mer sÄ lÀs den hÀr guiden om att vÀlja typsnitt för webb-projekt.

Rubriker

Dokumentet innehÄller ett stor antal rubriker med olika formatering. Rubrikelementet förekommer pÄ flera platser i dokumentet, sÄ dÀrför kommer vi att anvÀnda klasser för denna styling.

cv.html
    <h1 class="main-heading">Professional experience</h1>
    <section id="twentyseventeen">
      <h2 class="time-heading"><time datetime="2017">2017</time></h2>

Listor

I HTML sÄ anvÀnds ofta listor för att strukturera innehÄll. Listorna i Marios CV Àr ett bra exempel pÄ detta. I dokumentet sÄ anvÀnds - för att notera varje rad i listan, denna stil finns dock inte i HTML.

Prova olika list stilar och gör ett eget val. Utöver detta sÄ justerar du den padding som elementet har till vÀnster.

cv.css
ul {
    list-style: none;
    padding-left: 1rem;
 }

I en lista skapas varje rad av ett li element, det Àr block element sÄ det blir en radbrytning vid varje. Det kan Àndras med display egenskapen. Antingen kan listan, ul-elementet, Àndras med display: flex eller sÄ ges varje enskilt li-element egenskapen display: inline. Detta Àr anvÀndbart om en lista anvÀnds för en navigation.

För att utnyttja det faktum att Marios CV nu Àr ett hypertextdokument sÄ kan det skapas en navigation för dokumentet med fragmentsnavigering.

cv.html
  <nav>
    <ul class="nav-list">
      <li class="nav-item"><a href="#twentyseventeen">2017</a></li>
      <li class="nav-item"><a href="#twentythirteen">2013</a></li>
      <li class="nav-item"><a href="#twentyotwo">2002</a></li>
      <li class="nav-item"><a href="#nineteenninetyfive">1995</a></li>
    </ul>
  </nav>

Med flex sÄ kan vi justera hur element ska positioneras och visas i relation till varandra. Du kan anvÀnda CSS-egenskaperna justify-content och align-items för att styra detta.

LĂ€nkar

Om du önskar att Àndra lÀnkarna i dokumentet sÄ kan du skapa regler för a-elementet. För att pÄverka lÀnkar nÀr muspekaren Àr över dem sÄ anvÀnds regeln :hover.

a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

Övning

Skapa alla de stilar som behövs för att Äterge Marios CV.

LĂ€nkar

HÀr finns det ytterligare material samlat för dig att arbeta med.

Last updated