この素晴らしい記事では、モバイルブラウザに合わせて拡張できるレスポンシブテーブルを作成する方法について説明します。
今、私は同じテクニックをhtmlメールに適用しようとしていますが、htmlメールdisplay:block
では機能しないようです。
問題を再現するには:
次のコードをHTMLページとして保存します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta charset="utf-8"> <style type="text/css"> @media only screen and (max-width: 760px), screen and (max-device-width: 480px) { /* Force table to not be like tables anymore */ table, td, tbody, tr{ display: block; width:100%; padding:0; clear:both; } td { /* Behave like a "row" */ position: relative !important; } } </style> </head> <body> <table style="width:100%;"> <tr> <td style="border:1px solid red;">1/1</td> <td style="border:1px solid red;">1/2</td> <td style="border:1px solid red;">1/3</td> </tr> <tr> <td style="border:1px solid red;">2/1</td> <td style="border:1px solid red;">2/2</td> <td style="border:1px solid red;">2/3</td> </tr> </table> </body> </html>
Safariでページを開く
ウィンドウのサイズを変更して、ウィンドウサイズを小さくするとテーブルがどのように変化するかを確認します
CMD+iまたはこのページのコンテンツを押し
File->Mail
てHTMLメールを作成しますメールウィンドウのサイズを変更して、テーブルのサイズが正しく変更されていることを確認します
自分宛にメールを送信して開きます。
ここで、電子メールが実際にメディアクエリに応答するが、テーブルのスタイルを変更できなかったことに注目してください。
実際にテーブルを正しく表示するメールクライアントをまだ見つけていません。これは行き止まりですか、それとも回避策のアイデアがありますか?