Переопределение выравнивания текста: выравнивание по ширине в OWA — сообщения электронной почты в формате HTML

У меня проблемы с Outlook Web App (OWA). Излишне говорить, что существует множество проблем с различными клиентами Outlook, но OWA — наименее документированный из всех, с которыми я сталкивался.

Приведенный ниже код отлично работает во всех клиентах, Outlook 2000-2013, GMail, Yahoo, AOL, но в OWA для текста всегда установлено значение text-align: justify, и я не могу его переопределить.

<table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr>
    <td align="left" width="208" valign="top">
      <div><multiline label=”Body”>
        Dummy text goes in here, blah blah blah. Man, I'm hungry.
      </multiline></div>
    </td>
  </tr>
</table>

До сих пор я пытался установить:

  • text-align: left
  • text-align: left !important
  • float: left
  • float: left !important

На следующих элементах:

  • <table>
  • <td>
  • <div>
  • <span>
  • <multiline>
  • .left как класс

Кроме того, немного не относящаяся к делу заметка, но

<div><multiline label="Body"> content </multiline></div>

заботится о двойном межстрочном интервале, который встречается только в OWA.

Есть идеи, как установить text-align: left?


person itsclarke    schedule 04.03.2014    source источник
comment
Вы пытались удалить DIV? Как правило, не рекомендуется использовать элементы DIV и т. д. в электронных письмах в формате HTML. Вы должны в значительной степени программировать, как это 1998 (или около того). Если вы удалите DIV и/или многострочный текст, выровненный по левому краю?   -  person Billy Moat    schedule 04.03.2014
comment
Я согласен с Билли. Удалите div, и ваш align=left в <td> должен работать. Вы можете хранить там свои многострочные теги Campaign Monitor. Я заметил, что кавычки в вашей многострочной метке имеют неправильный тип. Длинный выстрел, но это, возможно, также может иметь эффект.   -  person John    schedule 04.03.2014
comment
@BillyMoat Проблема в том, что когда я удаляю div, line-height становится примерно вдвое, и это единственная причина, по которой у меня есть div для начала.   -  person itsclarke    schedule 05.03.2014


Ответы (2)


Я столкнулся с этой точной проблемой в OWA, ответ @John на удаление align="left" из ячейки упаковки <td> - это путь.

Я обернул свой текст тегом <span>, который дал мне контроль над высотой строки. Надеюсь, это поможет!

мой код:

<td class="center respHead" valign="top" bgcolor="#FFFFFF" style="font-size:26px;line-height:30px;font-weight:bold;padding-left:20px;text-align:left !important">
    <span style="color:#010101;font-size:26px;line-height:30px;font-weight:bold">
       Previously Justified Content
    </span>
</td>   
person John Perea    schedule 15.04.2014

У меня была точно такая же проблема, и сегодня я нашел решение. :) Сначала вам нужно перевести весь текст влево и использовать классы для выравнивания по центру/справа.

CSS:

td {
    text-align: left !important; /* Set all text to left as default to overwrite OWA text-align justify */
}

td.center {
    text-align: center !important; /* text-align center for most email clients, OWA doesn't recognize this */
    text-align: center; /* OWA fix, overwrites left !important with this */
}

td.center * {
    text-align: center; /* Outlook 07,10,13 fix */
}

td.right {
    text-align: right !important; /* text-align right for all most email clients, OWA doesn't recognize this */
    text-align: right; /* OWA fix, overwrites left !important with this */
}

td.right * {
    text-align: right; /* Outlook 07,10,13 fix */
}
person samisiuvatti    schedule 20.03.2014
comment
только что попробовал это, и он вообще не регулировал выравнивание. - person itsclarke; 25.03.2014