2014-01-14 8 views
8

Von dem, was ich verstehe, akzeptiert Gmail keine CSS-Blöcke im Kopf, weshalb ich eine Reihe von Inline-CSS zu meiner E-Mail-Vorlage hinzugefügt habe damit es funktioniert.Google Mail entfernt "position: relative" als Inline-CSS (Email Temlate)

Allerdings habe ich mit der CSS-Positionierung-Eigenschaft zu kämpfen. Ich möchte, dass ein Bild auf einem Hintergrundbild sitzt, also setze ich das übergeordnete div von beiden auf position: relative und das Bild auf absolut. Aus irgendeinem Grund entfernt Google Mail jedoch das style-Attribut, das die Position relativ vom div deklariert. Es behält jedoch alle anderen Inline-CSS.

Irgendeine Idee? Irgendeine Problemumgehung?

+1

CSS 'Position' wird in HTML-E-Mails nicht gut unterstützt. Für Hintergrundbilder sollten Sie einen Blick auf backgrounds.cm werfen. Sie könnten dann ein normales Bild-Tag innerhalb der inneren '' platzieren. – John

Antwort

18

Leider vermute ich, dass Sie Ihre vollkommen vernünftigen Ideen von Divs und Positionierung aufgeben müssen, wenn Sie für E-Mail entwerfen. CSS-Unterstützung in E-Mail-Clients ist ein verworrener Albtraum.

Die einzige (relativ) todsichere Methode, um das Layout von E-Mails zu erzwingen, besteht darin, mit einem alten Tabellenschema zu arbeiten, was bedauerlich, aber unvermeidlich ist.

Campaign Monitor hat eine ausgezeichnete Zusammenfassung der E-Mail-Client-CSS-Unterstützung here.

+0

So sehr es scheiße ist, sind verschachtelte Tabellen die einzige Möglichkeit, HTML-Newsletter zu erstellen. Fortgeschrittenes CSS kommt auch nicht in Frage. –

+0

Danke beides! Ich habe jetzt mit Tabellen gearbeitet, dem td-Tag ein Hintergrundbild hinzugefügt und mein Overlay-Bild in die Tabellendaten eingefügt. Nicht schön, aber es funktioniert! :) –

2

Ich habe ähnliche Layout-Probleme beim Senden von E-Mail-Newslettern erlebt. Die Lösung bestand darin, mithilfe von Tabellen die Dinge richtig zu positionieren. Es ist veraltet, aber ich denke, es war der einzige Weg, Dinge so aussehen zu lassen, wie sie sollten.