Hoe je aangepaste CSS gebruikt om webchat vorm te geven
Wat je leert
Hoe je aangepaste CSS gebruikt om het uiterlijk van Klaviyo-webchat te wijzigen: de launcher, het chatvenster, de berichtbubbels en de Composer voor berichten. Je leert welke themavariabelen en classnamen je veilig kunt targeten, en welke kapotgaan wanneer Klaviyo een update uitrolt.
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.
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
- Navigeer naar Klaviyo Customer Hub > Ontwerp.
- Scroll naar het gedeelte Aangepast onderaan de stijlinstellingen.
- Klik op Aangepaste CSS toevoegen of bewerk de CSS die er al staat.
- Klik op Opslaan.
Als je standalone webchat gebruikt
- Navigeer naar Instellingen > Webchat > Design.
- Scroll naar het gedeelte Aangepast onderaan de stijlinstellingen.
- Klik op Aangepaste CSS toevoegen of bewerk de CSS die er al staat.
- 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.
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:
- Jouw CSS wint. Omdat die als laatste laadt, overschrijven je regels in de meeste gevallen de standaardinstellingen van Klaviyo zonder dat je !important nodig hebt.
- 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
De meest betrouwbare manier om webchat opnieuw vorm te geven, is door de thema-variabelen van Klaviyo in een :root-blok te overschrijven. Deze zijn stabiel, ze lopen correct door de hele interface heen en ze gaan veel minder snel stuk dan wanneer je je richt op individuele elementen.
:root {
--atlas-chat-bubble-background: #f0ebe4;
--atlas-message-border-radius: 4px;
} Variabelen voor chatberichten
Variabel | Standaard | Bedieningselementen |
|---|---|---|
|
| Achtergrond van agentberichten (inkomend) |
|
| Tekstkleur van berichten van agent (inkomend) |
|
| Naam van de afzender die boven een bericht wordt weergegeven |
|
| 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 | Standaard | Bedieningselementen |
|---|---|---|
|
| Achtergrond van chatvenster |
|
| Kaarten en verhoogde oppervlakken |
|
| Tekst |
|
| Secundaire tekst en helpertekst |
|
| Tekst van tijdelijke aanduiding voor Composer |
|
| Accentkleur |
|
| Achtergrond van primaire knop en shopper-bubble |
|
| Tekst op primaire knoppen en shopperbubbels |
|
| Subtiele scheidingslijnen |
|
| Kleur van focusring |
Vorm- en afstandsvariabelen
Variabel | Standaard | Bedieningselementen |
|---|---|---|
|
| Hoekradius van het chatvenster |
|
| Hoekradius van knop |
|
| Hoekradius van invoer |
|
| Hoekradius van kaarten |
|
| Schaduw van chatvenster |
Typografievariabelen
Variabel | Standaard | Bedieningselementen |
|---|---|---|
| Systeemlettertypestack | Lettertype van tekst |
| Systeemlettertypestack | Lettertype van koptekst |
|
| Basisgrootte van de bodytekst |
|
| Kleine tekstgrootte |
|
| Body-gewicht |
|
| 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.
Elke klassenaam die je in de inspector van je browser vindt en die niet op deze lijst staat, is niet veilig om te gebruiken. De meeste interne klassennamen bevatten een build-hash (bijvoorbeeld Chat-chatWindow-a1B2c) die elke keer verandert wanneer Klaviyo een update uitrolt, waardoor je CSS ongemerkt kapotgaat. Vuistregel: als een class met kl-hub- begint, is die veilig. Als dat niet zo is, is die dat niet.
Chatelementen
Selector | Element |
|---|---|
| De zwevende knop voor het starten van een chat |
| Het chatvenster |
| De koptekst van het chatvenster |
| Het scrollbare berichtgebied |
| Een berichtballon (van agent en shopper) |
| De container van de Composer voor berichten |
| Het tekstveld van de Composer |
| Knoppen voor gespreksstarter en snelle antwoorden |
| De achtergrond achter het chatvenster |
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:
.kl-hub-chat-input-wrapper .kl-hub-button-primary {
background: #2f4f4f;
} Gedeelde elementen
Selector | Element |
|---|---|
| Elk tekstelement |
| Alle rubrieken (ook .kl-hub-h1 via .kl-hub-h5) |
| Alineatekst (ook .kl-hub-p-small, .kl-hub-p-tiny, .kl-hub-p-large) |
| Links |
| Elke knop (ook .kl-hub-button-primary, .kl-hub-button-secondary, .kl-hub-button-tertiary) |
| Tekstinvoer |
| Kaarten, waaronder productkaarten |
| Productthumbnails |
| Pictogrammen |
| Toastmeldingen |
Agent- en shopperberichten anders opmaken
Dit is het meest voorkomende verzoek en hiervoor is een specifieke aanpak nodig. Bubbels van agents en shoppers delen dezelfde .kl-hub-message class — er is geen stabiele class die ze onderscheidt, dus je kunt er niet direct één selecteren.
Gebruik in plaats daarvan de themavariabelen, die de twee al verschillend behandelen:
:root {
/* Agent messages */
--atlas-chat-bubble-background: #f0ebe4;
--atlas-chat-bubble-text-primary: #2b2b2b;
/* Shopper messages */
--atlas-button-primary: #1f3a3d;
--atlas-text-primary-inverse: #ffffff;
} --atlas-button-primary kleurt ook je primaire knoppen. Als je de shopper bubble en je knoppen verschillend wilt hebben, wordt dat momenteel niet ondersteund.
Voorbeelden
Alles afronden
:root {
--atlas-drawer-inset-border-radius: 0;
--atlas-message-border-radius: 0;
--atlas-button-border-radius: 0;
--atlas-input-border-radius-normal: 0;
} Hoofdletters voor koppen en knoppen
.kl-hub-heading,
.kl-hub-button {
text-transform: uppercase;
letter-spacing: 0.04em;
} Maak de launcher groter met een aangepaste schaduw
.kl-hub-launcher {
width: 72px !important;
height: 72px !important;
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
} De launcher stelt verschillende eigenschappen rechtstreeks in op het element, dus launcherregels hebben !important nodig om effect te hebben. Dit is de enige plek waar het doorgaans vereist is.
Maak het chatvenster op desktop breder
@media (min-width: 900px) {
.kl-hub-drawer {
width: 480px;
}
} Als je CSS niet wil opslaan
Wanneer je opslaat, controleert Klaviyo of je CSS kan worden geparseerd. Als dat niet zo is, zie je Ongeldige CSS. Controleer je syntaxis. en je wijzigingen worden niet opgeslagen.
Een stylesheet wordt alleen volledig geweigerd wanneer het helemaal geen regels oplevert, wat meestal betekent dat wat je hebt geplakt geen CSS is. Veelvoorkomende oorzaken:
- 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
Eén enkele syntaxisfout blokkeert meestal niet het opslaan. In plaats daarvan overtreedt het stilletjes de regels eromheen. Losse tekst vóór een regel wordt opgenomen in de selector van die regel, waardoor de regel nergens mee matcht. Een niet-afgesloten regel slokt de declaraties op die erna volgen. Een losse sluitaccolade wordt genegeerd. Dus als een regel die je hebt geschreven geen effect heeft, controleer dan de syntaxis van alles erboven, niet alleen van de regel zelf.
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.