THMLメールをスマホで見たら横幅が指定できなかった話


HTMLメールの基本はテーブルレイアウトだ。と言うことは調べたら出てきます。
でも画像を入れると横並びで幅が指定できないなんて聞いてないよ！？
と言う訳で実際にできなかった事をメモメモします。

####↓こんな感じにしたかった↓
![スクリーンショット 2021-08-13 15.43.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565886/087e3c7e-02be-952c-04f3-e292fe103d0a.png)
画像が左にあって最大の横幅は200pxで右側に文章が入る
そんな風にしたかった・・・

実際にテスト送信を行ってみたところ・・・
PCのgmailでは大丈夫。
PCのyahooでも大丈夫。
スマホのyahooでも大丈夫。

スマホのgmailは・・・
####こんな感じになってしまった↓
![スクリーンショット 2021-08-13 15.43.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565886/28f844cd-c9bd-a94e-8ae9-71e0a8efbbf2.png)
あれ！？
画像どうした！？



なんでだ？ネットで見つけた綺麗なテンプレートを参考に作成したはずなのに？？

なぜだと思いますか？
下に崩れた部分を載せさせていただきます。

```html
 <table cellspacing="0" cellpadding="0" border="0" width="600">
      <tr>
        <td width="600" bgcolor="#ffffff">
          <table cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff" width="600">
            <tr>
              <td width="20"></td>
              <td width="560">
                <table cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff" width="560">
                  <tr>
                    <td width="200" style="overflow: hidden;">
                        <img src="https://kawakami1592.github.io/tuku-ru/images/pexels-josh-sorenson-68342.jpg" width="200" height="200" alt="商品画像" border="0" style="object-fit: contain;">
                    </td>
                    <td width="20"></td>
                    <td width="340">
                    
                      <table cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff" width="340">
                        <tr>
                          <td align="left">
                            サンプル
                          </td>
                        </tr>
                        <tr>
                          <td align="left">
                            サンプル
                          </td>
                        </tr>
                        <tr>
                          <td align="left">
                            サンプル
                          </td>
                        </tr>
                      </table>

                    </td>
                  </tr>
                </table>
              </td>
              <td width="20"></td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
```





修正したものがこちら↓

```html
    <table cellspacing="0" cellpadding="0" border="0" width="600">
      <tr>
        <td width="600" bgcolor="#ffffff">
          <table cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff" width="600">
            <tr>
              <td width="20"></td>
              <td width="560">
                <table cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff" width="560">
                  <tr>
                    <td width="200" style="overflow: hidden;">
                        <img src="https://kawakami1592.github.io/tuku-ru/images/pexels-josh-sorenson-68342.jpg" width="200" height="200" alt="商品画像" border="0" style="object-fit: contain;">
                    </td>
                    <td width="20"></td>
                    <td width="340">
                    
                      <table cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff" width="340">
                        <tr>
                          <td align="left">
                            <span style="width:340px; display:inline-block;">
                              サンプル
                            </span>
                          </td>
                        </tr>
                        <tr>
                          <td align="left">
                            <span style="width:340px; display:inline-block;">
                              サンプル
                            </span>
                          </td>
                        </tr>
                        <tr>
                          <td align="left">
                            <span style="width:340px; display:inline-block;">
                              サンプル
                            </span>
                          </td>
                        </tr>
                      </table>

                    </td>
                  </tr>
                </table>
              </td>
              <td width="20"></td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
```



お分りいただけましたでしょうか？

```html
<span style="width:340px; display:inline-block;">
```
これを追加しただけです。
どうやらスマホ（アプリ）のgmailでは画像を入れると幅の指定が崩れるらしいのです。
右側にも画像を貼れば期待どうりの表示ができますが、そうでないときはimgタグと同じインラインで幅を指定すればよかったのです。
とはいえ本来インラインは幅を指定できませんからインラインブロックにしておきました。

以上です