html - 在 html 电子邮件中包装表格

标签 html css email html-email

我有 3 张带有标题的图像,它们放在 3 个单独的表格中(用于格式化)。我需要它们排成一排,但当超过一定宽度时,我需要它们堆叠在 1 列中。

考虑到电子邮件客户端的限制(例如,不能使用 display:inline-block,因为它未被所有浏览器覆盖),这是否可能实现此结果?

<table style="width:100%; max-width:300px">
  <tbody>
    <tr>
      <td>

        <!-- Image GROUP -->

        <!-- Image 1 -->
        <table style="width:100%; max-width:100px">
          <tbody>
            <tr>
              <td align="center">
                <img src="https://placehold.it/100x100?text=%20" style="width:100%; max-width:100px" />
              </td>
            </tr>
            <tr>
              <td align="center">
                <p>Image title</p>
              </td>
            </tr>
          </tbody>
        </table>

        <!-- Image 2 -->
        <table style="width:100%; max-width:100px">
          <tbody>
            <tr>
              <td align="center">
                <img src="https://placehold.it/100x100?text=%20" style="width:100%; max-width:100px" />
              </td>
            </tr>
            <tr>
              <td align="center">
                <p>Image title</p>
              </td>
            </tr>
          </tbody>
        </table>

        <!-- Image 3 -->
        <table style="width:100%; max-width:100px">
          <tbody>
            <tr>
              <td align="center">
                <img src="https://placehold.it/100x100?text=%20" style="width:100%; max-width:100px" />
              </td>
            </tr>
            <tr>
              <td align="center">
                <p>Image title</p>
              </td>
            </tr>
          </tbody>
        </table>


      </td>
    </tr>
  </tbody>
</table>

jsfiddle 链接:https://jsfiddle.net/k4dxbo22/

最佳答案

通常最好在 html 文件之外练习样式。原因是当代码开始变大时,您不想一次修改一个元素。 在这种情况下,许多选项之一是用 <div></div> 包装每个表并向它们添加类。 一旦你分配了一个类,或者你可以在你的 html 文件中这样做,无论你喜欢哪个,你都可以使用 float属性来实现你想要的。 在这种情况下 float:left; .如果您不应用任何 float默认情况下,html 文档将垂直堆叠。 另外,请注意,在设置宽度时,它可能会溢出到下一行。看例子

.table1{
  float:left;
}

.table2{
  float:left;
}

.table3{
  float:left;
}
        <!-- Image 1 -->

<div class="table1">

        <table style="width:100%; max-width:100px">
          <tbody>
            <tr>
              <td align="center">
                <img src="https://placehold.it/100x100?text=%20" style="width:100%; max-width:100px"/>
              </td>
            </tr>
            <tr>
              <td align="center">
                <p>Image title</p>
              </td>
            </tr>
          </tbody>
        </table>

  
</div>

<div class="table2">

        <table style="width:100%; max-width:100px">
          <tbody>
            <tr>
              <td align="center">
                <img src="https://placehold.it/100x100?text=%20" style="width:100%; max-width:100px"/>
              </td>
            </tr>
            <tr>
              <td align="center">
                <p>Image title</p>
              </td>
            </tr>
          </tbody>
        </table>

  
</div>


<div class="table3">

        <table style="width:100%; max-width:100px">
          <tbody>
            <tr>
              <td align="center">
                <img src="https://placehold.it/100x100?text=%20" style="width:100%; max-width:100px"/>
              </td>
            </tr>
            <tr>
              <td align="center">
                <p>Image title</p>
              </td>
            </tr>
          </tbody>
        </table>

  
</div>

关于html - 在 html 电子邮件中包装表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39906219/

相关文章:

javascript - 当我滚动到特定的 <div> 时开始执行 jQuery 函数

css - 网络抓取(抓取)时, "li: nth-child (n)"如何将数字 n 增加 +1?

html - 使用 flexbox 更改元素的顺序并在特定元素之后换行

php - mail() 中的电子邮件附件问题

php - 如何在没有安装 SMTP 服务器的情况下从 PHP 发送电子邮件?

html - Mac 上的字体和 div 位置不同(wordpress)

html - 如何在 Django 中将 CSS 链接到 HTML?

javascript - 使 Bootstrap 旋转木马流畅?

asp.net - 使用 smtp 和 Outlook.Office365.com 发送电子邮件

javascript - 获取模板复选框名称