レスポンシブメールデザインガイド:さまざまなデバイスにメールを完璧に紹介する
コアポイント
display
プロパティを変更することで実現できます。後者はよりエレガントで、ネイティブCSSルールを使用しています。 img {max-width: 100%;}
写真が提供する写真:Fishbulb1022
メールテンプレートはHTMLテーブルで構築されており、インラインCSSを持っていることがわかっているため、私たちの作業は通常よりも少し複雑です。
インラインCSSルールには、特異性値が高い(常に勝ちます)。
テーブルはレイアウトの組み合わせ用に設計されていないため、電子メールの組み合わせに注意を払う必要があり、セル(自然水平位置)はモバイルデバイスに垂直に配置する必要があることを覚えておく必要があります。
!important
この記事でさえ、私たちは応答性のある問題についてのみ議論していることに注意してください、レスポンシブモバイルメールは必ずしも良いメールではありません。効果的なモバイルメールデザインには、フォントサイズ、レイアウトの組み合わせなど、多くの要素が含まれます。これらは非常に重要なタスクであり、別の記事で説明します。
メールレイアウトモード
応答性については、1つの列と複数の列の2種類のメールを識別できます。
シングルコラムレイアウト(通常は1つのタイトル画像のみ)には特別なニーズがありません。要素を再配置する必要はないため、すべての幅がデバイスサイズに合わせてエレガントに格下げされていることに注意する必要があります。これはレスポンシブなデザインではなく、スケーラブルなデザインの典型的な例です(スケーラブル、流体、またはレスポンシブを参照:メールの移動方法を理解してください)。
シングルコラムレイアウト
また、画像を変更する必要があります(この記事の最後にある「画像について」段落を参照)。フォントのサイズを変更しますが、他の特別なニーズはありません。
<table> cellspacing="0" cellpadding="0" border="0" width="600"> </table>
@media screen and (max-width:480px) { table { width: 100%!important; } }
マルチコラムレイアウトでは、デバイスの幅が減少するにつれて、列の再配置が必要です。 2つ、3つ、またはそれ以上の列を使用する場合でも、水平方向ではなく垂直に表示する必要があります。
これを達成するための2つの簡単な方法があります:
ネストされたテーブルを使用して
テーブルセルの
プロパティを変更します。display
電子メールの組み合わせでは、通常、ネストされたテーブルを使用する必要があります。これは常にクライアントの互換性を確保するための最良の方法と見なされますが、一方で、生成されたコードは非常に混乱しており、実際に読みにくいです。 固有の
幅が必要であり、その合計はコンテナ値と同じでなければなりません。
table align="left"
デバイスの幅が減少すると、コンテナをサイズ変更し、すべてのテーブル列を100%の幅に強制する必要があります。
この手法により、ほとんどのクライアントとの互換性が保証されます。Litmusでデモファイルをテストし、すべてのクライアントが良い結果を得て、次の警告を許可します。
Outlook 2007、2010、および2013(Outlookのバージョンは、Microsoft Wordをレンダリングエンジンとして使用します
gmail androidアプリ。
table[class="body_table"] { width: 600px; } table[class="column_table"] { width: 180px; } table[class="spacer_table"] { width: 30px; height:30px; } @media only screen and (max-width: 480px) { table[class="body_table"] { width: 420px!important; } table[class="column_table"] { width: 100%!important; } }
これは良い出発点です(テストの結果の一部については以下を参照)、このテストは空のテーブルで構築されていることも考慮する必要があります。すべてのエラーを修正し、このテクノロジーをすべてのクライアントで適切に機能させます。
マルチコラムメッセージを構築する2番目の方法は、よりエレガントで、ネイティブCSSルールを使用します。
この手法では、デバイスの幅が縮小されたときにデフォルトのテーブルセルのプロパティを変更することが含まれます(ResponsiveEmailpatterns.comで多くの例を見つけることができます)。これにより、細胞が垂直に再スタックされます
display
ディスプレイプランを変更
<table> cellspacing="0" cellpadding="0" border="0" width="600"> </table>
ただし、キャンペーンモニターのレスポンシブメールデザインガイドで提案されているように、メディアクエリを使用して、1つの画像を非表示にして、背景画像として別の画像に置き換えることができます。 img {max-width: 100%;}
@media screen and (max-width:480px) { table { width: 100%!important; } }
CSSを介して隠された画像でさえクライアントにロードされることを忘れないでください。これに注意してください。
タグと
ソースに同じ画像を使用することです。次の例のように、これらすべての範囲で使用するには、多目的img
画像を準備する必要があります。
background-image
各ブレークポイントビューを調整するために
残念ながら、これは高密度デバイスのすべてのニーズを解決する可能性は低いですが、他のすべてのケースにロードされたファイルの数を減らすことができます。
table[class="body_table"] { width: 600px; } table[class="column_table"] { width: 180px; } table[class="spacer_table"] { width: 30px; height:30px; } @media only screen and (max-width: 480px) { table[class="body_table"] { width: 420px!important; } table[class="column_table"] { width: 100%!important; } }
結論background-size
通常、答えはノーです。各プロジェクトには異なるアプローチが必要であり、異なる
(元のテキストに記載されているFAQセクションはここで省略されています。なぜなら、この部分の内容は書き換えが難しく、元のテキストの他の部分よりも長くなっているからです。
以上がレスポンシブメールを構築するためのトリックの箱の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。