Gmail 용 HTML 이메일 스타일링


99

내부 스타일 시트를 사용하는 HTML 이메일을 생성하고 있습니다.

<!doctype html>
<html>
<head>
  <style type="text/css">
    h2.foo {color: red}    
  </style>
</head>
<body>
 <h2 class="foo">Email content here</foo>
</body>
</html>

Gmail에서 보면 내부 스타일 시트의 모든 스타일이 무시되는 것 같습니다. Gmail은 인라인 규칙 이외의 모든 스타일을 무시하는 것 같습니다.

 <h2 style="color: red">Email content here</foo>

이것이 Gmail로 볼 때 HTML 이메일 스타일을 지정하는 유일한 옵션입니까?


14
예, 많은 웹 기반 이메일 클라이언트가 내부 스타일 시트를 인식하지 못하기 때문에 이것은 유일한 것입니다. 실제로 인라인 스타일은 html 뉴스 레터를 디자인하는 데 권장되는 방법입니다.
Mike

내가 아는 한 이메일 독자는 html 3.2 및 css 1.1을 지원할 것으로 예상 할 수 있습니다.

이메일을 어떻게 생성 했습니까? 의도를 만드는 코드를 추가하는 죄수?
RaphMclee 2012 년

7
일반적으로 여는 <html>태그 를 사용하는 것이 좋습니다 .)
Zaz

1
Gmail은 형편 없다. iOS 앱과 웹 기반 앱도 있습니다!
Adrian Florescu 2015 년

답변:


19

여기에 나온 답변은 2016 년 9 월 30 일 현재 구식입니다. Gmail은 현재 에서 태그 및 미디어 쿼리 에 대한 지원 을 제공하고 있습니다. Gmail이 유일한 관심사라면 최신 개발자와 같은 수업을 사용해도 안전합니다!stylehead

참고로 공식 Gmail CSS 문서를 확인할 수 있습니다 .

참고로 Gmail은 지원하지 않는 유일한 주요 클라이언트였습니다 style( 어쨌든 업데이트 될 때까지 참조 ). 즉 , 스타일을 인라인으로 배치 하는 것을 거의 안전하게 중단 할 수 있습니다 . 더 모호한 클라이언트 중 일부는 여전히 필요할 수 있습니다.


1
여전히 작동하지 않는 것 같습니다. Litmus에서 시도했지만 작동하지 않습니다. 특별한 이유가 있습니까?
Arian

@ArianHosseinzadeh 작동하지 않는 것은 무엇입니까? 문제에 대한 문서에 대한 참조를 추가했습니다.
Matthew Johnson

Litmus에서 시도했지만 인라인이 아닌 스타일은 무시합니다. Gmail에서 발표 한 후 <style>을 사용해 보셨습니까? 작동 했나요?
Arian

1
@ArianHosseinzadeh 문서의 예제에서 복사하여 붙여 넣기를 수행하고 putsmail 을 통해 실행했습니다 . Gmail에 스타일이 표시됩니다. Chrome 브라우저에서 Android Gmail 앱과 Gmail을 확인했습니다. 내 생각 엔 Litmus 미리보기가 변경 사항을 반영하도록 업데이트되지 않은 것 같습니다.
Matthew Johnson

1
내 스타일이 작동하지 않는 이유가 궁금해서 body태그 대신 태그 내에 배치했음을 깨달았습니다 head.
palswim

67

모든 것에 인라인 스타일을 사용하십시오. 이 사이트는 수업을 인라인 스타일로 변환합니다 : http://premailer.dialect.ca/


2
이 사이트는 굉장합니다. 경고를 표시하고 일반 텍스트 출력을 제공하고 HTML을 재구성합니다.
jamesbar2

1
이 Premailer는 Ruby, 소스 : github.com/premailer/premailer 입니다. 파이썬에는 또 다른 것이 있습니다 : premailer.io source : github.com/peterbe/premailer , 둘 다 오픈 소스입니다.
Maxime R.

1
이 대답은 더 이상 정확하지 않습니다. gmail은 스타일과 클래스를 지원하며 주제에 대한 공식 문서를 가지고 있습니다-아래 Matthew Johnson의 답변을 참조하십시오.
mikemaccana 2016

12

Gmail은 헤드 영역에서 스타일 태그에 대한 기본 지원을 시작했습니다. 아직 공식적인 것을 찾지 못했지만 직접 쉽게 시도 할 수 있습니다.
클래스 및 ID 선택기를 무시하는 것처럼 보이지만 기본 요소 선택기가 작동합니다.

<!doctype html>
<html>
  <head>
    <style type="text/css">
      p{font-family:Tahoma,sans-serif;font-size:12px;margin:0}  
    </style>
  </head>
  <body>
    <p>Email content here</p>
  </body>
</html>

메일 본문을 포함하는 div로 제한된 자체 헤드 영역에 스타일 태그를 생성합니다.

<style>div.m14623dcb877eef15 p{font-family:Tahoma,sans-serif;font-size:12px;margin:0}</style>

약간 부끄러운 일이지만 여전히 미디어 쿼리를 지원하지 않습니다. 클래스와 ID도 유용합니다. :)
Eoin

2
그들은 이제 미디어 쿼리도 수행하고 CSS 스타일링을 더 완벽하게 지원합니다. stackoverflow.com/questions/39759764/…
crowmagnumb

7

나는 클래스와 인라인 스타일을 지원하는 모든 사람들에게 동의합니다. 지금까지 이것을 배웠을 수도 있지만 스타일 시트에 한 가지 실수가 있다면 Gmail은이를 무시합니다.

당신은 당신의 CSS가 완벽하다고 생각할 수 있습니다. 당신이 그렇게 자주 해왔 기 때문에, 왜 제가 제 CSS에 실수를했을까요? CSS Validator (예 : http://www.css-validator.org/ ) 를 통해 실행하고 어떤 일이 발생하는지 확인하십시오. 몇 가지 Gmail 표시 문제가 발생한 후 그렇게했는데 놀랍게도 여러 Microsoft Outlook 특정 스타일 선언이 실수로 나타났습니다.

나에게 의미가 있으므로 스타일 시트에서 제거하고 only for Microsoft다음과 같이 코드 블록에 넣었습니다 .

<!--[if mso]>
<style type="text/css">
body, table, td, .mobile-text {
font-family: Arial, sans-serif !important;
}
</style>
<xml>
  <o:OfficeDocumentSettings>
    <o:AllowPNG/>
    <o:PixelsPerInch>96</o:PixelsPerInch>
  </o:OfficeDocumentSettings>
</xml>
<![endif]-->

이것은 단순한 예일 뿐이지 만, 누가 알겠습니까? 언젠가는 유용 할 것입니다.


감사합니다. 유효하지 않은 CSS에 대한 부분으로 많은 시간이 절약되었습니다. 아직 주변에 있으면 알려주세요.
그림자 마법사가 당신을 위해 귀입니다

1
안녕하세요 @ShadowWizard. 나는 잠시 떠났지만 돌아 왔습니다. 시간이 절약되어 다행입니다.
Shawn Spencer

건배, 현상금이 낭비되지 않도록하고 싶었습니다. :-)
그림자 마법사 귀는 당신을위한

2

다른 사람들이 말했듯이 일부 이메일 프로그램은 CSS 스타일을 읽지 않습니다. 이미 작성된 웹 이메일이있는 경우 zurb의 다음 도구를 사용하여 모든 스타일을 인라인 할 수 있습니다.

http://zurb.com/ink/inliner.php

이것은 메일 침프, 캠페인 모니터 등에서 위에서 언급 한 것과 같은 템플릿을 사용할 때 매우 유용합니다. 이러한 템플릿은 일부 이메일 프로그램에서 작동하지 않기 때문입니다. 이 도구는 메일 프로그램에 대한 스타일 섹션을 남겨두고 모든 스타일을 인라인으로 배치하여 원하는 형식으로보다 보편적 인 가독성을 얻습니다.


인라이너 링크에 감사드립니다.
Shawn Spencer

2

이메일을 보내는 서비스와 도구는 CSS를 인라인하여 <style>태그의 CSS 가 Gmail에서 작동 하도록 할 수 있습니다.

예를 들어 MailChimp로 이메일을 보내는 경우 <style>태그 의 CSS는 기본적으로 자동으로 인라인됩니다. Mandrill을 사용 하면 설정 탭의 "기본 전송"섹션에서 "HTML 이메일의 인라인 CSS 스타일"상자를 선택 하여이 기능을 활성화 할 수 있습니다 ( 성능상의 이유로 기본적으로 비활성화되어 있음 ).

Mandrill에서이 작업을 수행하는 방법을 보여주는 이미지


0

Mailjet에서 템플릿을 디자인하는 동안 동일한 문제가 발생했습니다. 문제의 해결책은 <style>태그 내부의 축소 된 CSS 코드였습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.