Generuję wiadomość e-mail w formacie HTML, która korzysta z wewnętrznego arkusza stylów, tj
<!doctype html>
<html>
<head>
<style type="text/css">
h2.foo {color: red}
</style>
</head>
<body>
<h2 class="foo">Email content here</foo>
</body>
</html>
Podczas przeglądania w Gmailu wydaje się, że wszystkie style w wewnętrznym arkuszu stylów są ignorowane. Wygląda na to, że Gmail ignoruje wszystkie style inne niż reguły wbudowane, np
<h2 style="color: red">Email content here</foo>
Czy to moja jedyna opcja stylizowania wiadomości e-mail w formacie HTML wyświetlanych w Gmailu?
html
css
gmail
html-email
Dónal
źródło
źródło
<html>
tagu otwierającego ;)Odpowiedzi:
Tutejsze odpowiedzi są nieaktualne, ponieważ od dzisiaj 30 września 2016. Gmail jest obecnie rozwijają się wsparcie dla
style
znacznika whead
, a także zapytań multimedialnych. Jeśli Twoim jedynym zmartwieniem jest Gmail, możesz bezpiecznie korzystać z klas, takich jak nowoczesny programista!W celach informacyjnych możesz sprawdzić oficjalne dokumenty CSS Gmaila .
Na marginesie, Gmail był jedynym głównym klientem, który nie obsługiwał
style
( odniesienie , dopóki i tak nie zaktualizują). Oznacza to, że możesz prawie bezpiecznie przestać umieszczać style w linii. Niektórzy bardziej nieznani klienci mogą ich nadal potrzebować.źródło
body
tagu zamiast whead
tagu.Używaj stylów wbudowanych do wszystkiego. Ta witryna skonwertuje Twoje klasy na style wbudowane: http://premailer.dialect.ca/
źródło
Gmail rozpoczął podstawową obsługę tagów stylów w obszarze głowy. Nie znalazłem jeszcze nic oficjalnego, ale możesz łatwo spróbować samemu.
Wydaje się, że ignoruje selektory klasy i identyfikatora, ale podstawowe selektory elementów działają.
utworzy znacznik stylu w swoim własnym obszarze nagłówka, ograniczonym do elementu div zawierającego treść wiadomości
źródło
Zgadzam się z każdym, kto wspiera zajęcia ORAZ style inline. Być może już się tego nauczyłeś, ale jeśli w Twoim arkuszu stylów jest jeden błąd, Gmail go zignoruje.
Możesz pomyśleć, że twój CSS jest doskonały, ponieważ robiłeś to tak często, dlaczego miałbym mieć błędy w moim CSS? Uruchom go przez walidator CSS (na przykład http://www.css-validator.org/ ) i zobacz, co się stanie. Zrobiłem to po napotkaniu pewnych problemów z wyświetlaniem Gmaila i ku mojemu zdziwieniu kilka specyficznych deklaracji stylu programu Microsoft Outlook pojawiło się jako błędy.
To miało dla mnie sens, więc usunąłem je z arkusza stylów i umieściłem w
only for Microsoft
bloku kodu, na przykład:To tylko prosty przykład, ale kto wie, może się kiedyś przydać.
źródło
Jak powiedzieli inni, niektóre programy pocztowe nie odczytują stylów CSS. Jeśli masz już napisaną internetową wiadomość e-mail, możesz użyć następującego narzędzia zurb, aby wstawić wszystkie swoje style:
http://zurb.com/ink/inliner.php
Jest to niezwykle przydatne, gdy używasz szablonów takich jak te wymienione powyżej z mailchimp, monitora kampanii itp., Ponieważ, jak odkryłeś, nie będą działać w niektórych programach pocztowych. To narzędzie pozostawia twoją sekcję stylów dla programów pocztowych, które będą je czytać i umieszcza wszystkie style w tekście, aby uzyskać bardziej uniwersalną czytelność w pożądanym formacie.
źródło
Pamiętaj, że usługi i narzędzia do wysyłania e-maili mogą być w stanie wbudować CSS za Ciebie, umożliwiając CSS w
<style>
tagach działanie w Gmailu.Na przykład, jeśli wysyłasz e-maile za pomocą MailChimp, Twój kod CSS z
<style>
tagów zostanie domyślnie wstawiony automatycznie. W Mandrill możesz włączyć tę funkcję (chociaż jest ona domyślnie wyłączona ze względu na wydajność ), zaznaczając pole „Wbudowane style CSS w wiadomościach e-mail HTML” w sekcji „Domyślne wysyłanie” na karcie Ustawienia:źródło
Miałem ten sam problem podczas projektowania szablonu w Mailjet. Rozwiązaniem problemu był zminimalizowany kod CSS wewnątrz
<style>
tagów.źródło