Условный оператор для почтового клиента не работает - PullRequest
0 голосов
/ 20 мая 2019

У меня есть условие в html, которое должно отображать конкретный тд в зависимости от того, просматривается ли он на рабочем столе Outlook или других.

<table align="center" role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="margin: auto;">
            <tr>
                <!--[if !(mso)]>
                <td style="background-color: #4400c9; border-radius: 10px 10px 0px 0px;">
                <![endif]-->
                <!--[if mso]>
                    <td style="background: url('');">
                <![endif]-->
                    <table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%">

Edit: Это результат, который я получаю. enter image description here

Надеюсь, кто-то может указать, что не так с моим состоянием. Спасибо.

1 Ответ

1 голос
/ 20 мая 2019

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

Кроме того, ваш условный оператор не из Outlook долженбыть без скобок вокруг мсо.Например: ...[if !mso]...

Ваш! Mso скрывает запасной вариант, поэтому вам необходимо включить небольшое изменение условного кода.Вы должны отметить дополнительные <!--[if !mso]> <!----> в начале и <!-- <![endif]--> в конце условия! Mso.Это позволяет отображать содержимое, не относящееся к Outlook, без комментариев для всех других почтовых клиентов, но в то же время скрывать это содержимое в Outlook.

Вот несколько полезных ресурсов, которые помогут вам освоить эту технику.:1 - https://stackoverflow.design/email/base/mso
2 - Письма в формате HTML: откат для условного обозначения mso? 3 - https://litmus.com/community/discussions/396-conditional-code-for-outlook

Вот как должен выглядеть ваш код:

<!-- ### RENDER EVERYWHERE ELSE ### -->
<!--[if !mso]> <!---->
  <td>Non Outlook</td>
<!-- <![endif]-->

<!-- ### RENDER IN OUTLOOK ONLY ### -->
<!--[if mso]>
  <td>Outlook only</td>
<![endif]-->
...