Wat je leert

Zo gebruik je aangepaste CSS om het uiterlijk van de Klaviyo-webchat te wijzigen — de launcher, het chatvenster, berichtballonnen en de Composer voor berichten. Je leert welke thema-variabelen en class hooks je moet gebruiken en hoe je selectors kunt vermijden die kunnen veranderen wanneer Klaviyo de interface bijwerkt.

Dit artikel is van toepassing, of je nu webchat op zichzelf gebruikt of als onderdeel van Klaviyo Customer Hub. De chatinterface is in beide gevallen hetzelfde, dus dezelfde CSS werkt voor allebei.

Voordat je van start gaat

Aangepaste CSS wordt alleen aanbevolen voor technisch onderlegde marketeers of voor wie toegang heeft tot een developer. Het supportteam van Klaviyo kan algemene richtlijnen geven, maar kan geen aangepaste CSS voor je schrijven of debuggen.

Je hebt nodig:

  • Een rol als eigenaar, Beheerder of manager
  • Bekendheid met CSS-selectors en aangepaste eigenschappen (CSS-variabelen)

Voordat je aangepaste CSS schrijft, kijk eerst of de ingebouwde ontwerpinstellingen al doen wat je nodig hebt. Kleuren, lettertypen, knopvorm en de positie van de launcher zijn allemaal zonder code te configureren, en die instellingen blijven behouden na Klaviyo-updates. Gebruik aangepaste CSS alleen voor wat de ontwerpinstellingen niet dekken.

Als je de launcher op bepaalde pagina's van je site wilt verbergen of alleen op bepaalde pagina's wilt weergeven, bekijk dan De launcher op specifieke pagina's weergeven of verbergen.

Waar je je aangepaste CSS toevoegt

Waar je de editor voor aangepaste CSS vindt, hangt af van je configuratie.

Als je Klaviyo Customer Hub gebruikt

  1. Navigeer naar Klaviyo Customer Hub > Ontwerp en klik vervolgens op Je hub bewerken.
  2. Selecteer Stijl in de linkerzijbalk en scrol vervolgens naar Aangepaste CSS.
  3. Klik op de knop + naast Aangepaste CSS en voer je CSS in, of bewerk de CSS die er al staat.
  4. Klik op Opslaan. Als er een zichtbaarheidstest loopt, wordt die vroegtijdig beëindigd als je opslaat. Klik alleen op Test beëindigen en publiceren als je klaar bent om de test te beëindigen.

Als je standalone webchat gebruikt

  1. Navigeer naar Instellingen > Webchat > Design.
  2. Scroll naar het gedeelte Aangepast onderaan de stijlinstellingen.
  3. Klik op Aangepaste CSS toevoegen en voer je CSS in, of bewerk de CSS die er al staat.
  4. Klik op Opslaan.

Als je Klaviyo Customer Hub hebt ingeschakeld, verwijzen de ontwerpinstellingen voor webchat je in plaats daarvan naar Klaviyo Customer Hub. Dit is verwacht — Klaviyo Customer Hub beheert het ontwerp voor beide oppervlakken, dus er is één plek om alles te stylen.

Controleer na het opslaan de chat op je website op desktop- en mobiele breedtes. Open en sluit de launcher, stuur een bericht en controleer de status van de antwoord- en verzendknoppen. Als je een wijziging ongedaan wilt maken, verwijder je de betreffende CSS en sla je opnieuw op.

Hoe aangepaste CSS wordt toegepast

Je CSS wordt toegevoegd aan een style tag op je storefront, na de eigen stijlen van Klaviyo. Hieruit volgen twee dingen:

  • Latere regels kunnen eerdere regels overschrijven. Je CSS laadt na de stijlen van Klaviyo, maar selector specificity, inline styles en animaties kunnen nog steeds voorrang krijgen. Gebruik !important alleen wanneer nodig.
  • Je CSS is niet beperkt tot de chat. Het is van toepassing op je hele pagina. Beperk je selectors altijd tot een chatelement in plaats van kale regels te schrijven zoals button { … }, die je hele storefront zouden beïnvloeden.

Begin met themavariabelen

Begin met het overschrijven van de themavariabelen van Klaviyo in een :root-blok. Hiermee kun je gedeelde kleuren en vormen aanpassen zonder je op individuele elementen te richten. Deze wijzigingen kunnen ook invloed hebben op andere onderdelen van Klaviyo Customer Hub. De tabellen hieronder tonen de standaardwaarden van de basisstylesheet; je ontwerpinstellingen kunnen deze waarden overschrijven.

css
:root {
  --atlas-chat-bubble-background: #f0ebe4;
  --atlas-message-border-radius: 4px;
}

Variabelen voor chatberichten

Variabel

Basisstandaard

Bedieningselementen

--atlas-chat-bubble-background

#f2f2f2

Achtergrond van berichtballonnen van menselijke agenten

--atlas-chat-bubble-text-primary

#322e2f

Tekstkleur van de berichtballonnen van de menselijke agent

--atlas-text-primary

#1d1e20

Tekstkleur van Klantenserviceagent en geautomatiseerde antwoorden

--atlas-message-border-radius

12px

Hoekradius op alle tekstballonnen

Shopper- (uitgaande) berichten hergebruiken bewust je merkkleuren: de bubbel gebruikt --atlas-button-primary en de tekst gebruikt --atlas-text-primary-inverse, die je allebei instelt in de ontwerpinstellingen.

Kleur- en oppervlaktevariabelen

Variabel

Basisstandaard

Bedieningselementen

--atlas-background-main

#faf9f8

Achtergrond van chatvenster

--atlas-background-content

#ffffff

Kaarten en verhoogde oppervlakken

--atlas-text-primary

#1d1e20

Tekst

--atlas-text-secondary

#4b4d4e

Secundaire tekst en helpertekst

--atlas-text-placeholder

#747576

Tekst van tijdelijke aanduiding voor Composer

--atlas-primary-color

#3f5260

Accentkleur

--atlas-button-primary

#3f5260

Achtergrond van primaire knop en shopper-bubble

--atlas-text-primary-inverse

#ffffff

Tekst op primaire knoppen en shopperbubbels

--atlas-border-light

rgba(0, 0, 0, 0.05)

Subtiele scheidingslijnen

--atlas-border-focus

#41a1e6

Kleur van focusring

Vorm- en afstandsvariabelen

Variabel

Basisstandaard

Bedieningselementen

--atlas-drawer-inset-border-radius

12px

Hoekradius van zwevend chatvenster

--atlas-button-border-radius-normal

8px

Standard hoekradius van de knop. Gebruik --atlas-button-border-radius-small en --atlas-button-border-radius-tiny voor kleinere knoppen.

--atlas-input-border-radius-normal

8px

Hoekradius van invoer

--atlas-card-border-radius-small

12px

Hoekradius van kaarten

--atlas-window-shadow

2px 4px 5px 0 rgba(0, 0, 0, 0.03), 8px 16px 9px 0 rgba(0, 0, 0, 0.03), 18px 36px 12px 0 rgba(0, 0, 0, 0.02)

Zwevende schaduw voor losstaand chatvenster op desktop

Typografievariabelen

Variabel

Basisstandaard

Bedieningselementen

--atlas-font-family

Systeemlettertypestack

Lettertype van tekst

--atlas-heading-font-family

Systeemlettertypestack

Lettertype van koptekst

--atlas-font-size-normal

16px

Basisgrootte van de bodytekst

--atlas-font-size-small

14px

Kleine tekstgrootte

--atlas-font-weight-normal

400

Body-gewicht

--atlas-font-weight-heading

700

Gewicht van kop

Een aantal hiervan is al ingevuld op basis van je ontwerpinstellingen. Lettertypen en kleuren instellen in de gebruikersinterface van de ontwerpinstellingen heeft de voorkeur — gebruik de variabelen voor waarden die de UI niet blootstelt.

Richt je op elementen met class-hooks

Als een themavariabele niet volstaat, richt je dan direct op elementen. Klaviyo garandeert de onderstaande class-namen.

Gebruik classnamen die beginnen met kl-hub- voor aangepaste CSS. De onderstaande tabellen zijn geen uitputtende lijst. Vermijd gegenereerde interne classnamen, zoals Chat-chatWindow-a1B2c, omdat ze tussen releases kunnen veranderen en ervoor kunnen zorgen dat je CSS niet meer overeenkomt.

Chatelementen

Selector

Element

.kl-hub-launcher

De zwevende knop voor het starten van een chat

.kl-hub-drawer

Het chatvenster

.kl-hub-drawer__header

De koptekst van het chatvenster

.kl-hub-drawer__content

Het scrollbare berichtgebied

.kl-hub-message

Een tekstberichtcontainer, inclusief antwoorden zonder ballonnen

.kl-hub-chat-input-wrapper

De container van de Composer voor berichten

.kl-hub-chat-input

Het tekstveld van de Composer

.kl-hub-chat-prompt-button

Knoppen voor gespreksstarter en snelle antwoorden

.kl-hub-modal-veil

De overlay rond het chatvenster. Zwevende, losstaande chat op desktop heeft geen gedimde achtergrond.

.kl-hub-speaker-divider .kl-hub-text

Introductietekst voor spreker

Het chatvenster bevat ook een class met de naam van het huidige scherm — .kl-hub-route-chat voor de chat zelf. In standalone webchat is dit altijd .kl-hub-route-chat. In Klaviyo Customer Hub verandert dit terwijl de shopper navigeert (.kl-hub-route-home, .kl-hub-route-orders, enzovoort), waardoor je CSS kunt afbakenen tot één scherm.

De verzendknop heeft geen specifieke class. Richt je erop via de Composer:

css
.kl-hub-chat-input-wrapper .kl-hub-button-primary:not(:disabled) {
  --atlas-button-primary: #2f4f4f;
}

Gedeelde elementen

Selector

Element

.kl-hub-text

Elk tekstelement

.kl-hub-heading

Alle rubrieken (ook .kl-hub-h1 via .kl-hub-h5)

.kl-hub-p

Alineatekst (ook .kl-hub-p-small, .kl-hub-p-tiny, .kl-hub-p-large)

.kl-hub-link

Links

.kl-hub-button

Elke knop (ook .kl-hub-button-primary, .kl-hub-button-secondary, .kl-hub-button-tertiary)

.kl-hub-input

Tekstinvoer

.kl-hub-card

Kaarten, waaronder productkaarten

.kl-hub-thumbnail

Productthumbnails

.kl-hub-icon

Pictogrammen

.kl-hub-toast

Toastmeldingen

Agent- en shopperberichten anders opmaken

Tekstberichten tussen een mens en een shopper delen de .kl-hub-message class. Klantenserviceagent en geautomatiseerde antwoorden gebruiken die ook. Er is geen stabiele class die slechts één type afzender selecteert.

Gebruik themavariabelen om de bubbles van menselijke agents en shoppers verschillend te stylen. Klantenserviceagent en geautomatiseerde antwoorden hebben geen bubble en gebruiken --atlas-text-primary voor hun tekstkleur. Scope de variabelen naar .kl-hub-message om deze wijzigingen binnen berichtcontainers te houden:

css
.kl-hub-message {
  /* Human-agent messages */
  --atlas-chat-bubble-background: #f0ebe4;
  --atlas-chat-bubble-text-primary: #2b2b2b;

  /* Customer Agent and automated replies */
  --atlas-text-primary: #2b2b2b;

  /* Shopper messages */
  --atlas-button-primary: #1f3a3d;
  --atlas-text-primary-inverse: #ffffff;
}

Als je --atlas-button-primary instelt in :root, veranderen ook primaire knoppen. In het bovenstaande voorbeeld wordt dit alleen ingesteld voor berichtcontainers, zodat primaire knoppen buiten berichten hun ontwerpinstellingen behouden. Het heeft ook invloed op links in binnenkomende berichten.

Voorbeelden

Maak het chatvenster, de berichtballonnen, knoppen en invoervelden vierkant

css
:root {
  --atlas-drawer-inset-border-radius: 0;
  --atlas-message-border-radius: 0;
  --atlas-button-border-radius-normal: 0;
  --atlas-button-border-radius-small: 0;
  --atlas-button-border-radius-tiny: 0;
  --atlas-input-border-radius-normal: 0;
  --atlas-input-border-radius-small: 0;
}

Hoofdletters voor koppen en knoppen

css
.kl-hub-heading,
.kl-hub-button {
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

Maak de launcher groter met een aangepaste schaduw

De launcher gebruikt specifiekere CSS-regels en grootte-animaties, dus dit voorbeeld gebruikt !important. Door de breedte en hoogte vast te zetten, voorkom je ook dat hij uitzet voor meldingen of Add to Cart-content. Controleer die staten op afgeknipte content voordat je deze overschrijvingen van de grootte behoudt.

css
.kl-hub-launcher {
  width: 72px !important;
  height: 72px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
}

Maak het chatvenster op desktop breder

css
@media (min-width: 900px) {
  .kl-hub-drawer.kl-hub-route-chat {
    width: 480px !important;
  }
}

Aangepaste CSS oplossen

In standalone webchat controleert Klaviyo je CSS voordat het wordt opgeslagen. Als de controle mislukt, zie je Ongeldige CSS. Controleer je syntaxis. en je wijzigingen worden niet opgeslagen.

Deze controle wijst een niet-lege stylesheet af wanneer de browser geen enkele regel kan parseren. Je kunt het veld leegmaken en opslaan om je aangepaste CSS te verwijderen. Als je de fout ziet, controleer dan op:

  • Platte tekst, HTML of een style-tag plakken in plaats van CSS-regels
  • Een deel van een declaration plakken in plaats van een volledige rule
  • Een stylesheet waarin elke regel een syntaxfout heeft

Opslaan is gelukt, maar dat betekent niet dat elke regel geldig is of overeenkomt met een element. Browsers kunnen ongeldige CSS negeren of anders parseren dan bedoeld. Als een regel geen effect heeft, controleer dan de syntaxis erboven én de regel zelf, vooral losse tekst vóór selectors en ontbrekende accolades.

Wat aangepaste CSS niet kan doen

  • Tekst wijzigen. Aangepaste CSS kan de bewoording niet wijzigen. Gebruik daarvoor de instellingen voor ontwerp en content.
  • Elementen opnieuw ordenen of verplaatsen buiten wat de CSS-layout toestaat. De structuur van de chat is niet aanpasbaar.
  • Richt je afzonderlijk op agent- en shopperbubbels per class. Gebruik themavariabelen, zoals hierboven beschreven.
  • Doorsta herontwerpen automatisch. Class-hooks en variabelen blijven stabiel bij normale updates, maar bij een ingrijpend herontwerp moet je je CSS mogelijk opnieuw bekijken. Test opnieuw na grote releases.

Extra hulpbronnen

  • Je Klaviyo Customer Hub stylen

    Lees meer over ontwerpopties voor het stylen van je Klaviyo Customer Hub-lade, en hoe je deze kunt ontwerpen zodat die bij je merk past. Omdat de interface van Klaviyo Customer Hub verweven is met de klantervaring, is het best practice om deze zo te stylen dat hij aanvoelt als een uitbreiding van je website.

  • Aan de slag met webchat

    Meer informatie over webchat, een 2-weg communicatiekanaal dat je aan je website kunt toevoegen. Webchat kan zelfstandig worden ingesteld voor gebruik met Klantenserviceagent en Helpdesk, maar is ook ontworpen om naadloos onderdeel te zijn van Klaviyo Customer Hub. Met webchat kan je bedrijf live, gepersonaliseerde gesprekken voeren met bezoekers op je website, zodat ze eenvoudig antwoorden op hun vragen kunnen krijgen of hulp bij problemen.

  • Problemen oplossen met aangepaste CSS, JavaScript en HTML in Klaviyo

    Lees hoe je problemen met aangepaste code oplost bij het importeren van een aangepaste HTML-template of het bouwen van je eigen template met aangepaste code.

  • How to show or hide the launcher on specific pages

    Hide the web chat and Customer Hub launcher on certain pages of your site, or show it only on certain pages, with a short CSS snippet in your site theme.

Was dit artikel nuttig?
Gebruik dit formulier alleen voor feedback op artikelen. Meer informatie over hoe je contact opneemt met support.

Ontdek meer van Klaviyo

Community
Maak contact met collega's, partners en Klaviyo-experts om inspiratie op te doen, inzichten te delen en antwoorden te krijgen op al je vragen.
Partners
Huur een Klaviyo-gecertificeerde expert in om je te helpen met een specifieke taak of voor doorlopend marketingbeheer.
Support

Krijg ondersteuning via je account.

E-mailsupport (gratis proefperiodes en betaalde accounts) 24/7 beschikbaar

Chat-/virtuele assistentie
Beschikbaarheid varieert per locatie en type abonnement