Wanneer je in Salesdock een tekst schrijft voor een e-mail, sms, scriptlog, online offertepagina of PDF-template, kun je naast platte tekst ook HTML en eenvoudige CSS gebruiken om de opmaak rijker te maken. De editor accepteert echter niet alle HTML- en CSS-mogelijkheden. Dit artikel beschrijft welke onderdelen wel en niet worden ondersteund, en geeft tips voor het opzetten van een rijkere visuele opmaak binnen die grenzen.
Hoe de Salesdock-editor met HTML omgaat
Alle HTML die je in de editor plakt wordt na opslaan door een veiligheidsfilter (HTMLPurifier) gehaald. Die filter laat een vooraf gedefinieerde set tags en CSS-eigenschappen door, en strip al het overige. Het filter is bedoeld om kwetsbaarheden zoals XSS te voorkomen, maar legt ook beperkingen op aan wat je visueel kunt opbouwen.
Tip: als je opmaak na opslaan ineens verdwenen is — geen kleuren meer, geen afgeronde hoeken, vlakken die wit worden — dan is dat bijna altijd het filter dat een tag of property heeft gestript. Het overzicht hieronder helpt om te zien welke aanpassing wel veilig opgeslagen wordt.
Toegestane HTML-tags
De volgende tags blijven na opslaan behouden. De aangegeven attributen zijn de enige die worden geaccepteerd op die tag.
| Tag | Toegestane attributen | Gebruik |
|---|---|---|
<p> | style, class | Paragraaf met inline-styling. |
<span> | style, class | Inline-tekst met eigen styling. |
<a> | href, title, target, style, class | Hyperlink. |
<strong>, <b>, <em>, <i>, <u> | geen | Vet, schuin, onderstreept. |
<h1> t/m <h6> | geen (h3 mag wel class) | Koppen. |
<ul>, <ol>, <li> | geen | Lijsten. |
<br>, <hr> | geen | Regelovergang en horizontale lijn. |
<img> | src, alt, width, height, class | Afbeelding (alleen via publieke URL). |
<table> | class, width, height, border, cellspacing, cellpadding | Geen style-attribuut! Voor styling: zet alles op de <td>. |
<tr> | width, height, border | Rij in tabel. Heel handig: height als spacer-rij. |
<td> | style, border | Hier zet je alle visuele styling. Achtergrondkleur, breedte, lettertype. |
<div> | class | Geen style-attribuut! Gebruik voor wrappers liever <table><tr><td>. |
Toegestane CSS-eigenschappen (inline op style-attribuut)
CSS plaats je inline op het style-attribuut van een tag die style ondersteunt (vooral <td>, <p>, <span>, <a>). Alleen onderstaande properties worden geaccepteerd:
| Property | Voorbeeld |
|---|---|
color | color: #333333; |
background-color | background-color: #ffffff; |
font-family | font-family: Arial, Helvetica, sans-serif; |
font-size, font-weight, font-style, font | font-size: 18px; font-weight: bold; |
text-align | text-align: center; |
text-decoration | text-decoration: none; |
padding-left | padding-left: 40px; — let op: alleen links! |
width | width: 600px; |
border-radius | border-radius: 6px; — voor afgeronde hoeken |
Wat niet werkt
Onderstaande zaken worden bij opslaan automatisch verwijderd. Plak je ze toch, dan zie je dat de styling verdwijnt zodra je de pagina herlaadt of de mail verstuurt.
- Een
<style>-blok bovenaan met CSS-classes — wordt volledig gestript. Inline styles op individuele tags zijn de enige werkende route. <svg>en SVG-iconen — niet ondersteund. Gebruik in plaats daarvan een<img>-tag met een PNG/JPG op een publieke URL, of een emoji-teken.- Externe afbeeldingen op je eigen computer (zoals
src="logo.png") — afbeeldingen moeten via een publieke URL bereikbaar zijn (bijvoorbeeld een eigen CDN). - Achtergrondafbeeldingen (
background-image) — alleenbackground-colorwerkt. - Padding aan andere kanten dan links —
padding-top,padding-rightenpadding-bottomworden gestript, ook de samengevattepadding-shorthand. margin— geen enkele variant werkt. Gebruik spacer-rijen voor verticale ruimte.border— alleenborder-radiuswordt geaccepteerd. Voor zichtbare lijnen gebruik je<hr>of een tabel-rij met een achtergrondkleur.- Inline
styleop<table>en<div>— wordt gestript. Verplaats de styling naar de onderliggende<td>'s. - JavaScript en interactieve elementen —
<script>en attributen zoalsonclickworden om veiligheidsredenen geweigerd. - Layout via Flexbox of CSS Grid —
display,flex,gridzijn niet beschikbaar. Gebruik tabel-based layout zoals in klassieke e-mail-templates.
Praktische tips voor opmaak binnen de regels
1. Gebruik tabellen, geen div-blokken
Omdat <div> alleen class ondersteunt en <style>-blokken niet werken, kun je geen klassen-gebaseerde layout opbouwen. Gebruik daarom de klassieke e-mail-aanpak: een <table> als wrapper, met de styling op elke <td>.
2. Verticale ruimte met spacer-rijen
Omdat padding-top/bottom en margin niet werken, gebruik je een lege rij met een height-attribuut:
<tr><td height="20" style="background-color:#ffffff;"> </td></tr>
3. Padding-rechts via geneste tabel met spacer-cellen
Omdat alleen padding-left werkt, krijg je tekst die tot aan de rechterrand doorloopt. Oplossing: een geneste tabel met drie cellen: spacer links, content midden, spacer rechts.
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="width:40px;"> </td>
<td>Hier komt de inhoud, met witruimte aan beide kanten.</td>
<td style="width:40px;"> </td>
</tr>
</table>
</td>4. Achtergrondkleuren op <td> — nooit op <table>
De filter accepteert geen style-attribuut op <table>. Zet daarom alle visuele styling (achtergrondkleur, breedte, lettertype) op de onderliggende <td>'s. De tabel zelf krijgt alleen width, border="0", cellspacing="0" en cellpadding="0".
5. Iconen via <img> of een tekst-badge
Voor visuele iconen zijn er twee werkbare routes:
- PNG/JPG via
<img src="...">— vereist een publieke URL waar de afbeelding op gehost staat. - Een tekst-badge als simpele vervanger: een
<td>met achtergrondkleur, een groot cijfer of letter, enborder-radiusvoor afgeronde hoeken. Bijvoorbeeld:<td style="background-color:#77bb66;color:#fff;width:80px;border-radius:12px;text-align:center;font-size:42px;font-weight:bold;">1</td>.
Hulp van AI bij het omzetten van bestaande HTML
Heb je een complexe e-mail-template van een ontwerper of een externe tool en wil je die in Salesdock kunnen gebruiken? Dan helpt het om de HTML eerst om te laten zetten naar een Salesdock-compatibele variant. AI-tools zoals ChatGPT of Claude kunnen daarbij helpen, mits je de juiste context meegeeft.
Voorbeeld-prompt: kopieer de tekst hieronder en plak je eigen HTML op de aangegeven plek. Geef het geheel aan een AI-tool en je krijgt een Salesdock-compatibele variant terug.
Ik wil onderstaande HTML omzetten naar een variant die werkt in de Salesdock markdown-editor. De Salesdock-editor gebruikt een veiligheidsfilter (HTMLPurifier) en heeft de volgende beperkingen: TOEGESTANE TAGS (en hun attributen): - p (style, class), span (style, class), a (href, title, target, style, class) - strong, em, b, i, u - h1 t/m h6 - ul, ol, li, br, hr - img (src, alt, width, height, class) — alleen via publieke URL - table (class, width, height, border, cellspacing, cellpadding) — GEEN style! - tr (width, height, border) - td (style, border) - div (alleen class) — GEEN style! TOEGESTANE CSS-PROPERTIES (alleen op style-attribuut, dus vooral op td/p/span/a): - color, background-color - font, font-size, font-weight, font-style, font-family - text-decoration, text-align - padding-left (padding-top/right/bottom werken NIET) - width - border-radius NIET ondersteund (wordt gestript): - <style>-blokken met CSS-classes - <svg> en SVG-iconen - background-image - padding-top, padding-right, padding-bottom, margin - border (wel: border-radius) - inline style op <table> of <div> - JavaScript en attributen zoals onclick - display: flex / grid WERKWIJZE: - Gebruik tabel-gebaseerde layout (geneste <table><tr><td>), zoals bij klassieke e-mail-templates. - Verticale ruimte: spacer-rijen via <tr><td height="20"> </td></tr>. - Padding aan beide kanten van tekst: geneste 3-koloms-tabel met spacer-cellen links en rechts. - Alle achtergrondkleuren en breedtes op <td>, niet op <table>. - Vervang SVG-iconen door een <img>-tag (publieke URL) of een tekst-badge (gekleurde <td> met cijfer/letter en border-radius). Behoud de visuele uitstraling (kleuren, hiërarchie, typografie, layout) zo goed mogelijk binnen deze beperkingen. Geef de output terug als platte HTML zonder extra uitleg eromheen, gevolgd door een korte samenvatting van de belangrijkste keuzes en eventuele compromissen. Hieronder de HTML die ik wil omzetten: [plak hier je HTML]
Tip: AI-output is een vertrekpunt, geen eindpunt. Test de gegenereerde HTML altijd in Salesdock door een test-e-mail te versturen en te controleren of de styling overleeft (en dus correct opgeslagen wordt). Komt er iets niet goed door, kijk dan bovenstaande lijst even na om te zien welke property of tag is gestript — en stel de output handmatig bij waar nodig.
Hulp nodig?
Loop je vast met een specifiek stuk HTML, of merk je dat je opmaak na opslaan steeds gestript wordt? Neem contact op met Salesdock support en deel je HTML — we helpen je graag op weg.
Begrippenlijst
HTMLPurifier — veiligheidsfilter die HTML opschoont. Verwijdert tags en eigenschappen die niet op een vooraf gedefinieerde whitelist staan.
Inline-styling — CSS rechtstreeks op een tag via het style-attribuut, in plaats van in een aparte <style>-blok.
Tabel-gebaseerde layout — layout-techniek waarbij <table>'s en <td>'s als visuele containers worden gebruikt. De standaardpraktijk in e-mail-HTML omdat moderne CSS daar niet betrouwbaar werkt.
Spacer-rij — lege tabelrij met een opgegeven hoogte, gebruikt om verticale ruimte tussen secties te maken zonder padding of margin.
Whitelist — lijst van expliciet toegestane elementen. Wat niet op de lijst staat, wordt verwijderd.