Адаптивные ящики в HTML Email - PullRequest
0 голосов
/ 31 мая 2019

Я использую ActiveCampaign для отправки своих электронных писем, а недавно я начал создавать электронные письма HTML, чтобы лучше контролировать ситуацию.

ActiveCampaign автоматически устанавливает таблицы, поэтому мне не нужно беспокоиться оэто, так как он соответствует стандарту HTML для HTML письма.

У меня должна быть отзывчивая строка со столбцами, которые обертываются, как только пользователь просматривает почту на мобильном телефоне.

Япытаясь построить несколько столбцов внутри письма, я пытался использовать flexbox, но он постоянно выдавал ошибки в Gmail.Я даже пытался с, но он не переносит содержимое.

Здесь вы можете найти полный код.Я выделил ту часть, где у меня есть проблемы.

.divmain {
  margin: 5px;
  border-radius: 5px;
  -moz-box-shadow: 0px 0 7px 0px #b5b5b5;
  -webkit-box-shadow: 0px 0 7px 0px #b5b5b5;
  box-shadow: 0px 0 7px 0px #b5b5b5;
}

.divp {
  background-image: url("http://i67.tinypic.com/jhzs0g.png"), linear-gradient(90deg, #FD8571, #EEBD7C);
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  width: auto;
  border-radius: 5px 5px 0px 0px;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 7%;
  padding-bottom: 7%;
  margin-bottom: 0;
  text-align: center;
}

.divs {
  background-image: url("http://i66.tinypic.com/350w10h.png"), linear-gradient(90deg, #7172fd, #bc7cee);
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  width: auto;
  border-radius: 0px 0px 5px 5px;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 7%;
  padding-bottom: 7%;
  margin-bottom: 0;
  text-align: center;
}

.divw {
  width: auto;
  padding-left: 7%;
  padding-top: 5%;
  padding-bottom: 1%;
  padding-right: 27%;
  text-align: left;
  border-style: solid;
  border-width: 0px 1px 0px 1px;
  border-color: #cecece;
  margin: 0;
}

.row {
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
}

.column {
  flex: 33.33%;
  padding-left: 5%;
  padding-right: 5%;
  margin-bottom: 5%;
  margin-left: auto;
  margin-right: auto;
}

.columnbox {
  width: auto;
  border-radius: 8px;
  padding: 5%;
  text-align: center;
  border-style: solid;
  border-width: 1px;
  border-color: #cecece;
  -moz-box-shadow: 0px 0 7px 0px #b5b5b5;
  -webkit-box-shadow: 0px 0 7px 0px #b5b5b5;
  box-shadow: 0px 0 7px 0px #b5b5b5;
}

.row::after {
  content: "";
  clear: both;
  display: table;
}

.border-div {
  border-style: solid;
  border-width: 0px 1px 0px 1px;
  border-color: #cecece;
  border-radius: 0 0 3px 3px;
}
<!DOCTYPE html>
<html>

<head>
</head>

<body>

  <div class="divmain">

    <div class="divp">

      <h1 style="color:white; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em">Sei della Famiglia adesso!</h1>

      <p style="font-size: 1.4em; color: white; line-height: 150%;  font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-top: 0; padding-top: 0">Moover non è un semplice servizio,<br> è una fantastica community!
      </p>

      <div class="btn" style="background-color: #4E69C2; text-decoration: none; display: inline-block; border: 3px solid #4E69C2; border-radius: 7px; font-size: 1.4em; padding: 0.3em 1em; -webkit-font-smoothing: antialiased; color: #fff;"><a class="btn-link" href="https://moover.digital/" rel="noopener noreferrer" style="text-decoration: none; color: #fff; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; font-size: 0.8em; font-weight: 600; -webkit-font-smoothing: antialiased;"
          target="_blank">Scopri di più ►</a></div>

    </div>

    <div class="divw">

      <p style="font-size: 1.1em; line-height: 150%; color: #3b3b3b; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif"><b>Oh! Eccoti!</b><br> Volevamo informarti che il servizio di Crescita Organica è stato attivato con successo sul profilo @%USERNAME%
      </p>

      <p style="font-size: 1.1em; color: #4E69C2; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em;"><b>Il periodo di Prova Gratuita durerà 7 giorni!</b>
      </p>

      <p style="font-size: 1em; line-height: 150%; color: #3b3b3b; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-top: 0; padding-top: 0;">(Goditeli fino in fondo!)
      </p>

    </div>


    <!-- Here is where I have some problems -->


    <p class="border-div" style="margin: 0; text-align: center; font-size: 1.2em; line-height: 150%; color: #3b3b3b; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; font-weight: bold; padding-bottom: 1em; padding-top: 1em; ">Questi sono alcuni dati attuali del tuo account</p>

    <div class="row border-div desktop-view" style="padding-top: 1em; padding-right: 5%; padding-bottom: 3em; padding-left: 5%;">

      <div class="column">

        <div class="columnbox" style="margin-right: 5%;">
          <p style="font-size: 1em; color: rgb(78, 194, 136); font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em; font-weight: bold; margin-top: 0.2em;">Follower Attuali</p>
          <p style="font-size: 350%; color: #4E69C2; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em; font-weight: bold; margin-top: 0.2em;">99.000</p>
        </div>

      </div>

      <div class="column">

        <div class="columnbox" style="margin-right: 5%;">
          <p style="font-size: 1em; color: rgb(78, 194, 136); font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em; font-weight: bold; margin-top: 0.2em;">Likes Attuali</p>
          <p style="font-size: 350%; color: #4E69C2; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em; font-weight: bold; margin-top: 0.2em;">99.000</p>
        </div>

      </div>

      <div class="column">

        <div class="columnbox" style="margin-right: 5%;">
          <p style="font-size: 1em; color: rgb(78, 194, 136); font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em; font-weight: bold; margin-top: 0.2em;">Commenti Attuali</p>
          <p style="font-size: 350%; color: #4E69C2; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em; font-weight: bold; margin-top: 0.2em;">99.000</p>
        </div>

      </div>

      <div class="column">

        <div class="columnbox" style="margin-right: 5%;">
          <p style="font-size: 1em; color: rgb(78, 194, 136); font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em; font-weight: bold; margin-top: 0.2em;">Engagement Rate</p>
          <p style="font-size: 350%; color: #4E69C2; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em; font-weight: bold; margin-top: 0.2em;">99.000</p>
        </div>

      </div>

    </div>

    <!-- Here is where my problems finishes -->

    <div class="divs">

      <h1 style="color:white; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-bottom: 0; padding-bottom: 0.2em">Entra nell'Area Personale!</h1>

      <p style="font-size: 1.4em; color: white; line-height: 150%;  font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; margin-top: 0; padding-top: 0">Visita la tua Area personale cliccando qui.<br> Potrai tenere traccia dei tuoi risultati!
      </p>

      <div class="btn" style="background-color: #4E69C2; text-decoration: none; display: inline-block; border: 3px solid #4E69C2; border-radius: 7px; font-size: 1.4em; padding: 0.3em 1em; -webkit-font-smoothing: antialiased; color: #fff;"><a class="btn-link" href="https://app.moover.digital/analytics" rel="noopener noreferrer" style="text-decoration: none; color: #fff; font-family:Open Sans,Roboto,San Francisco,Helvetica,Arial,sans-serif; font-size: 0.8em; font-weight: 600; -webkit-font-smoothing: antialiased;"
          target="_blank">Visita la tua Area ►</a></div>

    </div>

  </div>

</body>

</html>

Результатом должна быть отзывчивая строка, на рабочем столе которой 4 столбца выровнены в уникальной строке.В мобильном телефоне это должна быть вертикальная строка, как на скриншоте ниже:

enter image description here

К сожалению, это не тот результат, который у меня есть, и я абсолютнонужна помощь, потому что в приложении Gmail с мобильного телефона вот что я получил:

enter image description here

1 Ответ

0 голосов
/ 31 мая 2019

Несколько баллов:

  1. Не используйте flexbox в электронной почте, если вы не уверены в кодировании электронной почты в целом. Я настроил часть вашего кода (расширение flex: #%; flex: 0 0 #% и добавление запасной ширины) и заметил, что исправил некоторые вещи, так что я не думаю, что реализация, которую вы взяли с фронта end работает в почтовых клиентах, как и следовало ожидать
    Существуют причуды и исправления, которые нужно включить для разных писем клиенты, о которых вы должны знать. Гугл это за помощь, не уверен из любых статей, в частности, как я не удосужился попытаться обувать рог Flexbox в мои письма. Но некоторые, безусловно, делают некоторые поиск, и вы найдете некоторую помощь.
  2. То же самое касается использования div в электронной почте. Это можно сделать и много использовать их, но вам нужно знать, как заставить их работать, скажем, в Outlook настольные клиенты и т.д. К вашему сведению, ваша электронная почта полностью взломана Outlook, включая последние версии, которые я вижу в Litmus, который Outlook 2019.
    Возможно, вам не нужно поддерживать Outlook, и это нормально, но это полезно знать.
  3. Инвестируйте в платформу для тестирования. Лакмус и электронная почта на Acid - лучшие инструменты.
    Таким образом, вы можете создавать и тестировать и гарантировать, что ваши электронные письма работают там, где им нужно.

В целом, просто будьте очень осторожны, перетаскивая методы интерфейса в электронную почту. Не все они будут работать, но есть некоторые в сообществе, которые нашли способы сделать Flexbox, CSS Grid и несколько других популярных методов переднего плана, работать в электронной почте, поэтому проведите некоторое исследование, и у вас будет руководство, которому нужно следовать.

Лично я не вижу необходимости использовать современные методы, подобные этой. Использование старой структуры таблиц работает по большей части.
Не поймите меня неправильно, я весело провожу время, тестирую последние новинки и создаю вещи для удовольствия, но я всегда возвращаюсь к старой фразе: «Если она не сломана, не исправляйте ее».
Код электронной почты не очень красивый и не идеальный, но он работает для 99% дизайнов, и он лично предпочитает применять такие необычные методы, как Flexbox и т. Д.

И всегда помните, что вы хотите использовать технику, которую легко поддерживать. Вы не хотите сталкиваться с такими проблемами каждый раз, когда пытаетесь обновить. Это отнимает много времени и может расстраивать, когда вы просто хотите получить электронное письмо.

Я надеюсь, что вы можете найти решение для этого, хотя. Либо через кого-то, кто помогает вам с вашей реализацией Flexbox, либо находя сообщения в блоге об этом в электронной почте, либо с нуля с кода, который вам удобнее / лучше поддерживается, и людям легче отлаживать для вас.

...