Je génère un e-mail html qui utilise une feuille de style interne, c'est-à-dire
<!doctype html>
<html>
<head>
<style type="text/css">
h2.foo {color: red}
</style>
</head>
<body>
<h2 class="foo">Email content here</foo>
</body>
</html>
Lorsqu'ils sont affichés dans Gmail, il semble que tous les styles de la feuille de style interne sont ignorés. Il semble que Gmail ignore tous les styles autres que les règles en ligne, par exemple
<h2 style="color: red">Email content here</foo>
Est-ce ma seule option pour styliser les e-mails HTML lorsqu'ils sont affichés avec Gmail?
html
css
gmail
html-email
Dónal
la source
la source
<html>
balise d' ouverture ;)Réponses:
Les réponses ici sont obsolètes, au 30 septembre 2016. Gmail est actuellement en train de déployer la prise en charge de la
style
balise dans lehead
, ainsi que les requêtes multimédias. Si Gmail est votre seule préoccupation, vous pouvez utiliser en toute sécurité des classes comme un développeur moderne!Pour référence, vous pouvez consulter les documents CSS officiels de gmail .
En remarque, Gmail était le seul client majeur à ne pas prendre en charge
style
( référence , jusqu'à ce qu'ils se mettent à jour de toute façon). Cela signifie que vous pouvez presque en toute sécurité arrêter de mettre des styles en ligne. Certains des clients les plus obscurs peuvent encore en avoir besoin.la source
body
balise au lieu de lahead
balise.Utilisez des styles en ligne pour tout. Ce site convertira vos classes en styles en ligne: http://premailer.dialect.ca/
la source
Gmail a commencé la prise en charge de base des balises de style dans la zone d'en-tête. Je n'ai encore rien trouvé d'officiel mais vous pouvez facilement l'essayer vous-même.
Il semble ignorer les sélecteurs de classe et d'identifiant, mais les sélecteurs d'éléments de base fonctionnent.
il créera une balise de style dans sa propre zone d'en-tête limitée au div contenant le corps du courrier
la source
Je suis d'accord avec tous ceux qui prennent en charge les classes ET les styles en ligne. Vous l'avez peut-être déjà appris, mais s'il y a une seule erreur dans votre feuille de style, Gmail l'ignorera.
Vous pourriez penser que votre CSS est parfait, parce que vous l'avez fait si souvent, pourquoi aurais-je des erreurs dans mon CSS? Exécutez-le via le validateur CSS (par exemple http://www.css-validator.org/ ) et voyez ce qui se passe. Je l'ai fait après avoir rencontré des problèmes d'affichage de Gmail et, à ma grande surprise, plusieurs déclarations de style spécifiques à Microsoft Outlook se sont révélées des erreurs.
Ce qui avait du sens pour moi, alors je les ai supprimés de la feuille de style et les ai mis dans un
only for Microsoft
bloc de code, comme ceci:Ceci est juste un exemple simple, mais, qui sait, cela pourrait être utile un certain temps.
la source
Comme d'autres l'ont dit, certains programmes de messagerie ne liront pas les styles css. Si vous avez déjà rédigé un e-mail Web, vous pouvez utiliser l'outil suivant de zurb pour intégrer tous vos styles:
http://zurb.com/ink/inliner.php
Ceci est extrêmement pratique lorsque vous utilisez des modèles comme ceux mentionnés ci-dessus de mailchimp, de moniteur de campagne, etc. car ils, comme vous l'avez constaté, ne fonctionneront pas dans certains programmes de messagerie. Cet outil laisse votre section de style pour les programmes de messagerie qui le liront et met tous les styles en ligne pour obtenir une lisibilité plus universelle dans le format souhaité.
la source
Notez que les services et les outils d'envoi d'e-mails peuvent être en mesure d'intégrer votre CSS pour vous, ce qui permet aux CSS de
<style>
balises de fonctionner dans Gmail.Par exemple, si vous envoyez des e-mails avec MailChimp, votre CSS des
<style>
balises sera automatiquement intégré par défaut. Avec Mandrill, vous pouvez activer cette fonctionnalité (bien qu'elle soit désactivée par défaut pour des raisons de performances ) en cochant la case "Styles CSS intégrés dans les e-mails HTML" dans la section "Envoi par défaut" de l'onglet Paramètres:la source
J'ai eu le même problème lors de la conception d'un modèle dans Mailjet. La solution du problème était un code CSS minifié dans des
<style>
balises.la source