Contrairement à d’autres webmails, la version classique d’Outlook.com ne se débrouille pas trop mal quand il s’agit de préfixer les règles CSS contenues dans un e-mail. Par défaut, toutes les règles CSS seront préfixées d’une classe .ExternalClass
, et tous les noms de classes ou d’identifiants seront préfixés par ecx
. Ainsi le code suivant :
.toto { background:red; }
.tutu { background:blue; }
@media only screen and (max-width:600px) {
table[class="toto"] { background:white; }
table[class="tutu"] { background:black; }
}
… sera transformé en…
.ExternalClass .ecxtoto { background:red; }
.ExternalClass .ecxtutu { background:blue; }
@media only screen and (max-width:600px) {
.ExternalClass table[class="ecxtoto"] { background:white; }
.ExternalClass table[class="ecxtutu"] { background:black; }
}
La classe .ExternalClass
est alors judicieusement apposée sur une <div>
contenant l’e-mail, et tout fonctionne comme si rien ne s’était passé. Jusqu’ici tout va bien, et on a presque envie de remercier les développeurs de chez Microsoft d’avoir fait correctement leur travail. Là où ça se gâte, c’est dans la version web mobile d’Outlook.com.
La version web mobile d’Outlook.com procède exactement au même renommage et préfixage des règles CSS que la version classique du webmail. Sauf que les développeurs ont oublié d’ajouter la classe .ExternalClass
quelque part dans l’interface. Cela signifie que plus aucune de vos règles CSS n’est applicable. Si vous souhaitez optimiser des e-mails pour mobile pour Outlook.com, il est donc impératif de jouer uniquement avec des styles en ligne.
D’un coup, comme ça, on n’a plus tout à fait la même sympathie pour les développeurs de chez Microsoft.
shavounet, le
Et en ajoutant soi-même le ExternalClass, ça passe ?
C’est tristoune quand même :-(
Rémi, le
Si on ajoute nous même le préfixe
.ExternalClass
, les règles CSS ne sont effectivement pas transformées. Par contre, la classeExternalClass
qu’on ajoute manuellement dans le HTML se retrouve elle transformée enecxExternalClass
.Indamail, le
D’où le hack « .ExternalClass * {line-height:100%} » pour pallier au problème de l’interlignage à 131% sur Outlook?
Rémi, le
Oui, c’est bien de là que vient la classe de cette règle.