Moln1 2025
Dokumentation av designmall
Här hittar vi dokumentation och beskrivningar av funktioner/design/css som finns i vår designmall.
När en ny kund vill ha en hemsida är tanken att vi ska kunna utgå från denna mall där all design, alla tillägg och övriga hjälpmeddel redan är förberedda pch installerade. När designen är klar/ska lanseras är det viktigt att man tar bort den CSS som man inte inte använder för att den inte ska dra ner laddningstiden på hemsidan.
CSS/HTML crashcourse
Alla hemsidor är, i grunden, uppbyggda i HTML (HyperText Markup Language). Det är HTML:en som bildar strukturen/skelettet av en hemsida. Detta skelett får sen sin design med hjälp av CSS (Cascading Style Sheets).
Element i HTML är uppbyggda av “taggar”. Det finns oftast en starttagg och en sluttagg:
Rubrik
<h2>Välkommen till oss</h2>
Brödtext
<p>Här har vi en paragraf som innehåller lite text</p>
“Lådor” som byger upp sklettet om omringar olika element
<div>
<p>Paragraf som ligger i en div</p>
</div>
<p class=”text”>Detta är en viktig text!</p>
.text {
color: red;
font-size: 17px;
}
I klassen .text skapar vi design som appliceras på alla de element som har klassen .text. I detta fall kommer texten bli röd (color: red;) och vara 17px (font-size: 17px;) stor.
Ett HTML-element kan ha hur många klasser som helst.
Div-elementet nedan har klassen .cards-wrapper, .w-50 & .card-1.
<div class=”cards-wrapper w-50 card-1″>
<p class=”text”>Detta är en viktig text!</p>
</div>
display: flex; aktiverar Flexbox som gör det enkelt att justera och placera element i en kontainer/div.
flex-wrap: wrap; gör så att alla element alltid har samma höjd.
.cards-wrapper{
display: flex;
flex-wrap: wrap;
}
.w-50, står i sin korthet för “width 50%” vilket innebär att alla kolumner/kort som ligger innan för denna klassen blir 50%. Senare kan vi även se .w-33, w.25 osv. som representerar andra bredder.
.w50 {
width: calc((100% / 2) – 20px);
}
.card-1 är en klass som representerar en individuell design. I koden nedan ger vi en h3:a textstorleken 21px. Alla h3:ord som ligger innanför en div med denna klass kommer få samma textstorlek.
.card-1 h3 {
font-size: 21px;
}
När man namnger en klass är det bra att tänka på att de ska kunna återanvändas så mycket så möjligt. I exemplet ovan kan vi se att namnen ofta beskriver vad dom gör och att de inte är bundna till ett visst innehåll som tjänster/medarbetare/kontakt osv.
Det är för att jag inte ska döpa en klass till .cards-services som sen även används under kontakt.
<div class=”cards-wrapper w-50 card-1″>
<p class=”text”>Detta är en viktig text!</p>
</div>
När ett element har flera klasser kan man också “para ihop” klasserna i css:en likt nedan:
width: calc((100% / 2) – 20px);
margin: 10px;
}
Som vi kan se står det .cards-wrapper.w-50 vilket i princip innebär att w.50 inte dungerar utan .cards-wrapper. Cards-wrapper gör det möjligt att positionera elementen och .w-50 berättar hur dom ska vara positionernade
För elementet .et_pb_column som har ett mellanrum efter .w-50 så innebär det att detta element ligger innanför elementet med klassen .w-50. Det behöver inte ligga som nästa direkta element men det ligger fortfarande innanför.
Nedan kan vi se hur det ser ut i Divi:
<div class=”et_pb_row et_pb_row_20 cards-wrapper w-50 et_pb_equal_columns”>
Kolumn 1
<div class=”et_pb_column_1_2 et_pb_column et_pb_column_39 et_pb_css_mix_blend_mode_passthrough”>
Textmodul
<div class=”et_pb_module et_pb_text et_pb_text_49 et_pb_text_align_left et_pb_bg_layout_light”>
<div class=”et_pb_text_inner”>
Text = paragraf tagg
<p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.</p>
</div>
</div>
<div class=”et_pb_module et_pb_text et_pb_text_50 et_pb_text_align_left et_pb_bg_layout_light”>
</div>
</div>
Kolumn 2
<div class=”et_pb_column_1_2 et_pb_column et_pb_column_39 et_pb_css_mix_blend_mode_passthrough”>
Textmodul
<div class=”et_pb_module et_pb_text et_pb_text_51 et_pb_text_align_left et_pb_bg_layout_light”>
<div class=”et_pb_text_inner”>
Text = paragraf tagg
<p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.</p>
</div>
</div>
<div class=”et_pb_module et_pb_text et_pb_text_52 et_pb_text_align_left et_pb_bg_layout_light”>
</div>
</div>
</div>
CSS + Divi =
Alla klasser som påverkar layout ska läggas i den gröna sektionen. Läggs den på den blåa sektionen kommer den påverka positionen på alla element som ligger inannför den. Så till exempel cards-wrapper w-50 som gör så att kolumner blir 50% ska ligga på en grön sektion med två kolumner innanför sig. Det innebär att vi dessutom bara behöver lägga in klassen på ett ställe och inte på varje individuell kolumn
Däremot kan klasser som endast påverkar designen på ett enda element läggas på den svarta sektionen. Detta inkluderar till exempel designen på knappar.
Målet är hela tiden att inte behöva lägga in klassen på onödigt många ställen. Om du har tre kolumner med en knapp-design kan man tänka att det är mer värt att lägga in klassen en gång på den gröna sektionen istället för att lägga in den individuellt på alla kolumner.
I CSS har klasser en . framför sig men när du lägger in en klass i Divi lägger du in den utan punkt.
Såhär lägger du till en klass i Divi.
Gå till Inställningar > Avancerat. Klassen lägger du på “CSS Class”
Ovanför kan man se att det finns ett fält för CSS Class och ett för CSS ID.
Skillnaden mellan dessa är att att ett ID kan du bara ha på ett element medan en klass kan du ha på hur många element som helst. Eftersom vi försöker återanvända så mycket kod så möjligt är det alltid klasser vi jobbar med.
ID:t kan dock användas när man ska länka till en specifik sektion. Då ger man sektionen ett unikt ID, till exempel “services” och länkar sen till #services
Starta från designmallen
När man skapat en kopia av designmallen för att starta en ny hemsidan finns det vissa saker som är bra att starta med. Typsnitt, färg och form.
Ändra färg och form till ny kund
1. Typsnitt ändrar du direkt i Divi, precis som vanligt.
Appearance > Customize > General settings > Typography
2. Färgen ändrar du på två ställen. I Divi ändrar du den globala färgen som redan ligger.
Blå = primär
Grön = sekundär.
Du behöver även ändra högst upp i CSS filen. Koden som nu ser nedan är av olika variabler. Man kan säga att, precis som i Divi, gör detta att färgerna blir globala. Färgerna kommer alltid hämtas härifrån. Istället för att skriva rgb (color: rgb(255 153 0);) eller HEX (color: #ff9900;) vilket gör att man måste skriva in färgerna individuellt och ristera att färgerna inte blir konsekventa skriver man istället in variabeln color: rgb(var(–primary-color));. Då hämtas färgen från –primary-color: 0, 138, 207; istället.
Variablernas färger är skrivna i rgb så du ändrar bara färgen till den du vill ha bland siffrorna.
Se nedan:
/* Colors */
–primary-color: 0, 138, 207;
–secondary-color: 186, 211, 108;
–gray-light-color: 245, 245, 245;
–black-color: 0, 0, 0;
–white-color: 255, 255, 255;
/* Typography */
–base-size: 16px;
}
/* Knappar, design */
.et_pb_contact_submit,
.btn a,
.btn .et_pb_text_inner a {
min-width: 140px;
padding: 13px 30px !important;
font-weight: 600;
text-align: center;
text-decoration: none;
transition: all .4s ease;
display: inline-block;
text-decoration: none;
letter-spacing: 1px;
font-size: 15px !important;
border-radius: 40px;
}
Vanliga klasser
Några av dom vanligaste klasserna vi använder är design på knappar, bild + text och sektion med 2-4 kort.
Knappar
När man ska lägga in design på en knapp använder man i grunden två klasser:
.btn – Grunddesign och struktur som gäller alla knappar
.btn-primary-filled – Individuell färg för knappen
Klassen .btn representerar strukturen & grunddesignen av själva knappen. Typsnitt, textstorlek, marginaler osv. Allt förutom färgen kan man säga.
Nästa klass lägger på resterande design, färgen. Färgen hämtas från den globala färgen i variablerna som vi pratat om tidigare.
Klasserna läggs på ett textblock som har en länk i sig.
.btn-primary-filled
Ifylld knapp med primary-color färgen
.btn-primary-border
Transparent bakgrund med text och border i primary-color färgen
Samma design finns för:
.btn-secondary-filled
.btn-secondary-border,
.btn-white-filled,
.btn-white-border
Namnen ovan talar för sig själv.
.btn-wrapper
Lägger till marginal ovanför knappen om den ligger för tight inpå texten ovanför.
Byta text-färg i knapp
Om du vill ändra text-färgen på en knapp gör du det vid koden nedan.
Det går bra att använda någon av tidigare variabler eller en helt separat färg.
/* btn-primary-filled */
.btn-primary-filled .et_pb_text_inner a,
.btn-primary-border .et_pb_text_inner a:hover {
background-color: rgb(var(–primary-color));
border: 2px solid rgb(var(–primary-color));
color: rgb(var(–white-color));
}
/* btn-primary-border */
.btn-primary-border .et_pb_text_inner a,
.btn-primary-filled .et_pb_text_inner a:hover {
background-color: transparent;
border: 2px solid rgb(var(–primary-color)) !important;
color: rgb(var(–primary-color));
}
/* btn-secondary-filled */
.btn-secondary-filled .et_pb_text_inner a,
.btn-secondary-border .et_pb_text_inner a:hover {
background-color: rgb(var(–secondary-color));
border: 2px solid rgb(var(–secondary-color));
color: rgb(var(–white-color));
}
/* btn-secondary-border */
.btn-secondary-border .et_pb_text_inner a,
.btn-secondary-filled .et_pb_text_inner a:hover {
background-color: transparent;
border: 2px solid rgb(var(–secondary-color));
color: rgb(var(–secondary-color));
}
Overlay
Vill man ha en mörk overlay finns det två klasser man kan använda:
.overlay-dark
.overlay-light
Dessa kan ligga på alla element
Columner med olika breddar
När man ska skapa en sektion med flera kolumner är det bra att alltid ha som vana att lägga på klasserna som anpassar bredden och marginalerna. Detta gör att alla sektioner med kolumner har samma marginaler och responsivitet.
.cards-wrapper – Grundkod för att kunna lägga på bredd
.w-50 – Sätter bredden, i detta fall att kolumnerna blir 50%
.cards-wrapper används alltid medan .w-50 bytas ut mot den bredd du vill ha. TIll exempel:
.w-30 – 3 kolumner 33% bredd
.w-25 – 4 kolumner 25% breda
Så om man vill ha en sektion med 3 kolumner lägger man då på plassen cards-wrapper w-33 på den gröna sektionen.
Kolumner som kort
Höjd + färg på kolumnerna
Om man ska ändra bakgrundsfärgerna på kolumnerna är det alltid bra att sätta samma höjd på alla kolumner:
När man ändrar bakgrundsfärgen görs det via den gröna sektionen.
Top-section
På alla top-section sektioner kan man enkelt ställa höjd och bakgrundsbild/video själv.
Det som behövs ställas in är textstorlek, typsnitt och eventuellt max-bredden på brödtexten.
Top-section-1
Innehållet är placerat med CSS för att ligga längst ner till vänster.
För att ändra storleken på h1:
.top-section-1 h1 {
font-size: 50px !important;
line-height: 1.1;
font-weight: 700;
}
För att placera innehållet centrerat till vänster:
.top-section-1 {
display: flex;
flex-wrap: wrap;
align-content: flex-end; byt till align-content: center;
}
.top-section-1 p {
max-width: 550px;
}
Top-section-2
Innehållet är placerat med CSS för att ligga centrerat
För att ändra storleken på h1:
.top-section-2 h1 {
font-size: 80px !important;
line-height: 1.1;
font-weight: 700;
}
.top-section-2 p {
max-width: 800px;
margin: 0 auto;
}
Split-section
Enkel sektion med två kolumner, bild i ena och text i andra. Bilden agerar som en bakgrundsbild men är inlagd som en vanlig bild för att man ska kunna ge en alt-tagg vilket är bra när det kommer till SEO. Det enda man behöver korrigera här är vissa marginaler och eventuellt en bakgrundsfärg.
Standardklasser för Split-section
I grunden används 2 klasser på en split-section:
.split-section – all design för en split-section
.split-content-align-center – gör så att texten ligger centrerat till bilden
Flera klasser som är användbara och ofta paras med split-section:
.reverse – om bilden ligger i första kolumnen (vänster) ska denna klassen alltid finnas med. Den gör så att texten alltid hamnar först när kolumnerna blir 100%.
Korrgera marginalerna på text-kolumnen (standard är padding: 50px)
.pr-0 – padidng-right: 0px
.pl-0 – padding-left: 0px
.pt-0 – padding-top: 0px
.pb-0 – padding-bottom: 0px
Om texten ligger i höger kolumn bör man ha som standard att lägga på klassen pr-0 som gör så att texten sträcker sig hela vägen ut i den gröna sektionen. Annars blir det off-set. Detsamma gäller när texten ligger till vänster, då bör man ha pl-0
pt-0 och pb-0 kan användas när man känner att det är väldigt mycket text och man behöver ta bort de undre och övre marginalerna för att bilden inte ska bli för hög.
Man kan säga att standardklasser förr en split sektion är:
Bild vänster:
split-section split-content-align-center reverse pr-0
Bild höger:
split-section split-content-align-center pl-0
Split med bakgrundsfärg
För en split-setion med bakgrundsfärg behöver man bara ge den gröna sektionen en bakgrundsfärg. Bakgrundsfärgen ska endast vara aktiv på desktop så se till att anpassa responsiviteten på den.
Man behöver inte korrigera några marginaler på en split med bakgrundsfärg (pr-0, pl-0)
Split-alt
Ta bort onödig kod och annat material när hemsidan ska lanseras
När man är klar med sin design och hemsidan ska lanseras är det viktigt att man tar bort alla undersidor som har med designmallen att göra. Så designmallens startsida, dokumentationssidan och även koden för menyn som ligger på dokumentations-sidan.
Denna kod hittar man i Adminpanelen > Custom CSS and JS
Ta bort alla filer som har med dokumentation-meny att göra.
Bilder
Ta även bort onödiga bilder som endast används i designmallen. Logotyper, beskrivande bilder, eventuellt bilder med px på men dessa går bra att ha kvar om man vill använda dessa längre fram.