HTML электронная почта - Outlook 2007 + 10, выравнивание несвязанных таблиц - PullRequest
0 голосов
/ 12 апреля 2011

У меня есть дилемма, с которой я никогда не сталкивался до того, как это поставило меня в тупик.В дизайне Outlook 07 и 10 совмещают две совершенно не связанные строки таблицы.Это сложный макет электронной почты, поэтому он содержит lot таблиц.Содержимое в левом столбце придерживается нижнего (или верхнего уровня родственного) тега hr, изображенного здесь:

<tr><td height="20"></td></tr>
<tr><!-- start of sidebar product (horizontal)-->
    <td>
        <table cellpadding="0" cellspacing="0" border="0">
            <tr>
                <td width="170">
                    <a href="" title="inline product 2" style="text-decoration: none;">
                        <!-- product Image -->
                        <img border="0" style="font-family:Arial,Helvetica,sans-serif;display:block" src="sidebar-beer-tbc.jpg" alt="South Island Marlborough Sauvignon Blanc" width="170" height="105">
                    </a>    
...

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

Любая помощь будет принята с благодарностью, это заставило меня задуматься.

Так как это дляклиент и содержит конфиденциальную информацию, я не предоставил готовый документ, но вот аннотированный захват двух сравнений.https://skitch.com/tilt/r3w65/photoshop

Ответы [ 2 ]

3 голосов
/ 14 апреля 2011

Вы столкнулись с «ошибкой разрыва страницы Outlook 2007».По сути, поскольку Outlook 2007/10 использует механизм рендеринга Word, они организуют его для печати вместо экрана.

Если вы нажмете на то, что Outlook не может вставить разрыв страницы, он просто вставляет большое пространствонад ним туда, где он может вставить разрыв страницы.

Это действительно раздражает - единственный способ обойти это - полностью закрыть строки выше в том же месте, вставить что-то, что на 100% шириной (может быть прозрачным1px, и затем снова запустите таблицы внизу.

0 голосов
/ 12 апреля 2011

Outlook делает это, когда есть промежутки (colspan или rowspan).В то время как другие клиенты обрабатывают натянутые строки и столбцы и разделяют их с точки зрения компоновки, outlook рассчитывает их неправильно.Это результат использования в Outlook внешнего вида идиотского движка Word - решение, которое вернуло форматирование электронной почты к 1995 году, - но я отвлекся.

Решение вашей проблемы - взять блокировку ивместо того, чтобы использовать любые промежутки, сделайте это в его собственную полную таблицу.Таким образом, на вашем изображении отдельные напитки слева будут находиться в нерасширенном столе 3x3, а вертикальная боковая панель «TBD продукта» будет представлять собой собственный 1x4 или любой другой вертикальный необработанный стол.В общем, это решило это для меня.Кроме того, иногда необходимо задать этим внутренним таблицам фиксированную высоту, чтобы они не стали height="100%" и не нарушали макет (опять же, только в outlook).

...