De discussie of HTML thuishoort in e-mails is redelijk zinloos. Alle grote bedrijven die nieuwsbrieven verzenden met iets van een huisstijl of ontwerp, zijn er simpelweg op aangewezen. Dus beweren dat het niet mag of niet hoort heeft in de praktijk geen zin. Daarnaast kunnen alle e-mailclients met een gebruik boven de 1% ook omgaan met HTML en CSS. De mate waarin echter, daar begint het interessant (of irritant) te worden.
Afbeeldingen van een server zijn ook in principe geen probleem (zoals iemand hierboven beweert), maar ze kunnen wel geblockt worden totdat een lezer de afbeeldingen bewust goedkeurt. Maar dat is ook weer een bekend proces voor ontvangers, dus niet het einde van de wereld.
Het probleem van de topicstarter is in principe al opgelost, maar voor wie het interessant vindt, hieronder enkele tips uit mijn persoonlijke ervaring:
- De ondergrens voor HTML/CSS ondersteuning op dit moment wordt gevormd door Outlook 2007. Deze client heeft een flinke stap terug genomen in HTML ondersteuning. En omdat deze client nogal wijdverspreid is, is alles wat deze client niet kan weergeven ook gelijk uit den boze in e-mail html. Hieronder vallen css-eigenschappen als float en position, wat zo ongeveer de kernwaarden zijn van css-based lay-outs. Conclusie: tabellen gebruiken. En altijd testen in ten minste Outlook 2007 (liever meerdere clients, ook web-based).
- Simpele CSS wordt aardig ondersteund, maar zorg dat je deze altijd inline zet. Dus op het element zelf met het style-attribuut. Dit heeft tot gevolg dat als je elke titel in de mail groen wilt kleuren, je dat op elke titel opnieuw zult moeten aangeven. Dit geeft de grootste compatibility met uiteenlopende clients.
- Zorg dat je zoveel mogelijk harde breedtes en hoogtes zet op cellen en afbeeldingen, mits deze bekend zijn.
- CSS padding kan worden gebruikt in cellen, maar zorg dat de padding top/bottom overal gelijk is in de hele rij, en dat de padding left/right overal gelijk is in de hele kolom. Hetzelfde geldt voor borders: als je een border-top toepast op één cel in een rij, doe het dan op alle cellen in die rij. Dit wederom met name voor Outlook en andere brakke renderaars.
- Elke table-tag moet opnieuw de font-family en font-size als css-eigenschappen krijgen, omdat deze niet goed geërfd worden. Ook als je een table in een table nest (wat nogal eens nodig kan zijn), zullen de font-eigenschappen opnieuw moeten worden opgegeven. Verder is het meestal slim om de cellpadding, cellspacing en border op nul te zetten en eventuele padding met CSS te regelen omdat je dat per cel en zelfs per zijde in kunt stellen.
- Geef elke cel die tekst bevat expliciet een align="left". Bepaalde clients renderen de tekst anders gecentreerd.
- Achtergrond-afbeeldingen worden niet ondersteund door Outlook 2007. Achtergrond-kleuren wel, en verder ben je aangewezen op afbeeldingen (img-tags).
- CSS margin wordt mondjesmaat ondersteund op blok-elementen als div en h1, maar niet op een img bijvoorbeeld (Outlook 2007 wederom). Div-jes gebruik je dus in principe toch niet voor de lay-out, maar het is wel bruikbaar voor bijvoorbeeld een titel die een eigen stijl moet krijgen binnen een cel.
- Om een blokelement (of de hele nieuwsbrief) te centreren gebruik ik align="center" op een td, met daarin het te centreren element die dan een vaste breedte krijgt.
- Cellen altijd een inhoud geven is zeer aan te raden. Ik gebruik altijd een nbsp, tenzij de cel kleiner is dan pakweg 10x20px. Dan gebruik ik een lege div met width=1px en height=1px. Werkt heel aardig in heel veel clients. Vroeger werd vaak een transparante gif-afbeelding gebruikt van 1x1 pixel, maar een leeg divje werkt dus net zo goed, maar zonder afbeelding.
[
Voor 5% gewijzigd door
geert1 op 07-09-2010 19:50
]