<td>неправильно складывается в отзывчивом письме

Поэтому я пытаюсь создать свою первую отзывчивую электронную почту, и все идет хорошо, за исключением двух областей навигации. Во-первых, у меня есть четыре кнопки, которые я хотел бы переставить, переставляя их друг на друга. Это сработало в моем первоначальном тестировании, но затем, когда я отправил его через моего провайдера электронной почты, первые два tds отрисовались должным образом (оба 50%), но два, которые должны были лежать внизу, были сжаты в сторону. То же самое для второй навигации, которую я пытался сделать (за исключением того, что я хотел, чтобы три переключились на 100% друг на друга)

Любые предложения о том, как это исправить, с благодарностью! Вот мой код (который работает нормально, но работает на всех мобильных устройствах, когда я его отправляю):

/* Stacked Top Links Navigation Pattern CSS */
@media only screen and (max-width: 400px) {
    td[class="main_nav"] {
        padding: 0;
    }
    td[class="main_nav"] td {
        display: inline-block;
        /*float: left;*/
        padding: 0 !important;
        width: 50%;
    }
    td[class="main_nav"] a {
        display: block;
        padding: 10px 0;
        background: #565656;
    }
    td[class="main_nav"] .nav1 a,
    td[class="main_nav"] .nav2 a {
        border-bottom: 1px solid #777;
    }
    td[class="main_nav"] .nav1 a,
    td[class="main_nav"] .nav3 a {
        border-right: 1px solid #777;
    }
}

/* Stacked Top Links Navigation Pattern CSS */
@media only screen and (max-width: 400px) {
    td[class="secondary_nav"] {
        padding: 0;
    }
    td[class="secondary_nav"] td {
        display: inline-block;
        /*float: left;*/
        padding: 0 !important;
        width: 100%;
    }
    td[class="secondary_nav"] a {
        display: block;
        padding: 10px 0;
        background: #005c5b;
        text-align: center;
    }
    td[class="secondary_nav"] .nav1 a,
    td[class="secondary_nav"] .nav2 a {
        border-bottom: 1px solid #fff;
    }
}
 <!-- BEGINNING OF NAVIGATION -->
  <table cellpadding="0" cellspacing="0" bgcolor="#565656">
      <tr>
          <td class="main_nav" width="600" bgcolor="#565656">
              <table cellpadding="0" cellspacing="0" width="100%" bgcolor="#565656" style="width:100%!important">
                  <tr>
                      <td class="nav1" align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                          <a href="#" style="text-decoration: none; color: #ffffff;">Nav 1</a>
                      </td>
                      <td class="nav2" align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                       <a href="#" style="text-decoration: none; color: #ffffff;">Nav 2</a>
                      </td>
                      <td class="nav3" align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                       <a href="#" style="text-decoration: none; color: #ffffff;">Nav 3</a>
                      </td>
                      <td align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                       <a href="#" style="text-decoration: none; color: #ffffff;">Nav 4</a>
                      </td>
                  </tr>
              </table>
          </td>
      </tr>
  </table>
  <br/>
  <!-- END OF NAVIGATION -->

<!-- BEGINNING OF SECONDARY STORY NAVIGATION -->
<table cellpadding="0" cellspacing="0" style="border-collapse:collapse;">
    <tr>
        <td class="secondary_nav" width="600">
            <table cellpadding="0" cellspacing="0" width="100%" bgcolor="#005c5b">
                <tr>
                    <td class="nav1" width="33.33%" align="center" style="padding: 20px 10px 20px 30px; text-align:left;border-right:solid 1px #ffffff;">
                        <a href="bottom-section" style="font-family:arial; font-weight:bold; font-size:14px;color:#ffffff; text-decoration:none;">Secondary nav 1</a>
                    </td>
                    <td class="nav2" width="33.33%" align="center" style="padding: 20px 10px 20px 30px; font-family: arial,sans-serif; font-size: 11px; text-align:left;border-right:solid 1px #ffffff;">
                        <a href="bottom-section" style="font-family:arial; font-weight:bold; font-size:14px;text-decoration: none; color: #ffffff;">Secondary nav 2</a>
                    </td>
                    <td class="nav3" width="33.33%" align="center" style="padding: 20px 10px 20px 30px; font-family: arial,sans-serif; font-size: 11px; text-align:left;">
                        <a href="bottom-section" style="font-family:arial; font-weight:bold; font-size:14px;text-decoration: none; color: #ffffff;">Secondary nav 3</a>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>

<!-- END OF SECONDARY STORY NAVIGATION -->
                  

1 ответ

Решение

Я бы предложил заменить ваши встроенные ячейки на выровненные таблицы. Клетки не будут играть хорошо с 50%, вам всегда нужно идти именно под это. Сказав это, ваши ячейки никогда не выровняются правильно, что вы увидите в моей версии ниже.

Одним из недостатков использования выровненных таблиц настолько близко, что вам нужно будет добавить в таблицы-призраки вокруг ваших таблиц, чтобы гарантировать, что Outlook соблюдает требуемое точное выравнивание и не добавляет требуемого отступа в 20 пикселей между таблицами.

Я только настроил ширину вашей исходной ячейки, до 49% в CSS заголовка, а затем я создал свою версию выровненных таблиц в новой строке под вашим исходным кодом, с новым классом main_nav_inner внутри моей таблицы упаковки.

<!DOCTYPE HTML>
<html>
<head>
    
 <style type="text/css">
  /* Stacked Top Links Navigation Pattern CSS */
  @media only screen and (max-width: 400px) {
   td[class="main_nav"] {
    padding: 0;
   }
   td[class="main_nav"] td {
    display: inline-block;
    /*float: left;*/
    padding: 0 !important;
    width: 49%;
   }
   td[class="main_nav2"] .main_nav_inner table {
    width: 50%!important;
   }
   td[class="main_nav"] a {
    display: block;
    padding: 10px 0;
    background: #565656;
   }
   td[class="main_nav"] .nav1 a,
   td[class="main_nav"] .nav2 a,
   td[class="main_nav2"] .main_nav_inner .nav1,
   td[class="main_nav2"] .main_nav_inner .nav2  {
    border-bottom: 1px solid #777;
   }
   td[class="main_nav"] .nav1 a,
   td[class="main_nav"] .nav3 a,
   td[class="main_nav2"] .main_nav_inner .nav1,
   td[class="main_nav2"] .main_nav_inner .nav3 {
    border-right: 1px solid #777;
   }
  }
  
  /* Stacked Top Links Navigation Pattern CSS */
  @media only screen and (max-width: 400px) {
   td[class="secondary_nav"] {
    padding: 0;
   }
   td[class="secondary_nav"] td {
    display: inline-block;
    /*float: left;*/
    padding: 0 !important;
    width: 100%;
   }
   td[class="secondary_nav"] a {
    display: block;
    padding: 10px 0;
    background: #005c5b;
    text-align: center;
   }
   td[class="secondary_nav"] .nav1 a,
   td[class="secondary_nav"] .nav2 a {
    border-bottom: 1px solid #fff;
   }
  }
 </style>
</head>
<body style="min-width: 100%; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" yahoo="fix">
<!-- BEGINNING OF NAVIGATION -->
  <table cellpadding="0" cellspacing="0" bgcolor="#565656" width="100%">
      <tr>
          <td class="main_nav" bgcolor="#565656">
              <table cellpadding="0" cellspacing="0" width="100%" bgcolor="#565656" style="width:100%!important">
                  <tr>
                      <td class="nav1" align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                          <a href="#" style="text-decoration: none; color: #ffffff;">Nav 1</a>
                      </td>
                      <td class="nav2" align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                       <a href="#" style="text-decoration: none; color: #ffffff;">Nav 2</a>
                      </td>
                      <td class="nav3" align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                       <a href="#" style="text-decoration: none; color: #ffffff;">Nav 3</a>
                      </td>
                      <td class="nav4" align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                       <a href="#" style="text-decoration: none; color: #ffffff;">Nav 4</a>
                      </td>
                  </tr>
              </table>
          </td>
      </tr>
      <tr>
          <td class="main_nav2" bgcolor="#565656">
              <table cellpadding="0" cellspacing="0" width="100%" bgcolor="#565656" style="width:100%!important">
                  <tr>
                   <td class="main_nav_inner">
                         <!--[if gte mso 9]>
                            <table border="0" cellpadding="0" cellspacing="0" style="width:600px;">
                                <tr>
                                    <td valign="top" style="width:150px;">
                        <![endif]-->
                     <table align="left" class="nav1" border="0" cellpadding="0" cellspacing="0" style="width:25%;">
                            <tr>
                                <td align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                                      <a href="#" style="text-decoration: none; color: #ffffff;">Nav 1</a>
                                  </td>
                            </tr>
                        </table>
                        <!--[if gte mso 9]>
                                    </td>
                                    <td valign="top" style="width:150px;">
                        <![endif]-->
                     <table align="left" class="nav2" border="0" cellpadding="0" cellspacing="0" style="width:25%;">
                            <tr>
                                <td align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                                   <a href="#" style="text-decoration: none; color: #ffffff;">Nav 2</a>
                                  </td>
                            </tr>
                        </table>
                        <!--[if gte mso 9]>
                                    </td>
                                    <td valign="top" style="width:150px;">
                        <![endif]-->
                     <table align="left" class="nav3" border="0" cellpadding="0" cellspacing="0" style="width:25%;">
                            <tr>
                                <td align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                                   <a href="#" style="text-decoration: none; color: #ffffff;">Nav 3</a>
                                  </td>
                            </tr>
                        </table>
                        <!--[if gte mso 9]>
                                    </td>
                                    <td valign="top" style="width:150px;">
                        <![endif]-->
                     <table align="left" class="nav4" border="0" cellpadding="0" cellspacing="0" style="width:25%;">
                            <tr>
                                <td align="center" style="padding: 10px 10px; font-family: arial,sans-serif; font-size: 11px;">
                                   <a href="#" style="text-decoration: none; color: #ffffff;">Nav 4</a>
                                  </td>
                            </tr>
                        </table>
                        <!--[if gte mso 9]>
                                    </td>
                                </tr>
                            </table>
                        <![endif]-->
                    </td>
                  </tr>
              </table>
          </td>
      </tr>
  </table>
  <br/>
  <!-- END OF NAVIGATION -->

<!-- BEGINNING OF SECONDARY STORY NAVIGATION -->
<table cellpadding="0" cellspacing="0" style="border-collapse:collapse;">
    <tr>
        <td class="secondary_nav" width="600">
            <table cellpadding="0" cellspacing="0" width="100%" bgcolor="#005c5b">
                <tr>
                    <td class="nav1" width="33.33%" align="center" style="padding: 20px 10px 20px 30px; text-align:left;border-right:solid 1px #ffffff;">
                        <a href="bottom-section" style="font-family:arial; font-weight:bold; font-size:14px;color:#ffffff; text-decoration:none;">Secondary nav 1</a>
                    </td>
                    <td class="nav2" width="33.33%" align="center" style="padding: 20px 10px 20px 30px; font-family: arial,sans-serif; font-size: 11px; text-align:left;border-right:solid 1px #ffffff;">
                        <a href="bottom-section" style="font-family:arial; font-weight:bold; font-size:14px;text-decoration: none; color: #ffffff;">Secondary nav 2</a>
                    </td>
                    <td class="nav3" width="33.33%" align="center" style="padding: 20px 10px 20px 30px; font-family: arial,sans-serif; font-size: 11px; text-align:left;">
                        <a href="bottom-section" style="font-family:arial; font-weight:bold; font-size:14px;text-decoration: none; color: #ffffff;">Secondary nav 3</a>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>

<!-- END OF SECONDARY STORY NAVIGATION -->
</body>
</html>

Другие вопросы по тегам