альтернатива float для почтовых клиентов - PullRequest
0 голосов
/ 16 октября 2018

Какая альтернатива float для почтовых клиентов?

Вот что я использую float.И я хочу, чтобы альтернативный подход точно сохранял поведение.

html

<div class="container">
  <div class="leftText">
    left text
  </div>
  <div class="rightText">
    right text right text
  </div>
</div>

css

.leftText {
  display: inline-block;
  border: 1px solid green;
  background: yellow;
}

.rightText {
  display: inline-block;
  float: right;
  border: 1px solid green;
  background: cyan;
}

jsfiddle

Вот что я пытался сделать, используя доступные во всех почтовых клиентах text-align и calc (calc доступно в соответствии с this ).

html

<div class="container">
  <div class="leftText">
    left text
  </div>
  <div class="rightText">
    right text right text
  </div>
</div>

css

.leftText {
  display: inline-block;
  border: 1px solid green;
  background: yellow;
}

.rightText {
  display: inline-block;
  text-align: right;
  width: calc(100% - 58px);
  min-width: 122px;

  border: 1px solid green;
  background: cyan;
}

jsfiddle

Этот подход не работает таким образом, что, когда правильный текст перемещается на собственную строку, слова неперенос из-за установки min-width.Если бы было возможно добавить перенос слов после того, как правильный текст переместился на собственную строку, то решение было бы тем, что я искал.

Согласно это Outlook не поддерживает display: table и послетестирование оказывается правдой.Поэтому, пожалуйста, не советуйте мне использовать display: table или аналогичный дисплей (например, inline-table, table-row, table-column, table-cell и т. Д.).

enter image description here

Ответы [ 3 ]

0 голосов
/ 17 октября 2018

float работает почти со всеми почтовыми клиентами, кроме IBM Notes 9, Outlook 2007–16 (настольный ПК) и Windows 10.

В почтовых клиентах, где float не работает, что-то всплываетправильно, например, для <table> я использую либо <table align="right">, либо <table style="text-align: right;">

Удачи.

0 голосов
/ 19 октября 2018

Как упомянуто выше, можно использовать таблицы для моделирования поплавков.Ниже приведен код с использованием гибридного метода кодирования.это работает так, как вы хотите.

Примечание. CSS просто показывает, как будет работать стек.Ниже код может работать так же без медиа-запросов.

.wrapper{width:680px;outline: 1px solid #f00;}
.wrapper div{outline: 1px solid blue;}
	
@media screen and (max-width: 480px) {
    .wrapper{width:100% !important;}
}
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="wrapper">
  <tbody>
    <tr>
      <td valign="top" bgcolor="#FFFFFF" style="padding:0px;text-align: center; vertical-align: top; font-size: 0px;">
		
		<!--[if (gte mso 9)|(IE)]><table cellspacing="0" cellpadding="0" border="0" width="680" align="center"><tr><td><![endif]--> 
		
		  <div style="display:inline-block; max-width:340px; min-width:200px; vertical-align:top; width:100%;">
			  <table width="100%" border="0" cellspacing="0" cellpadding="0">
				  <tbody>
					<tr>
					  <td style="font-size:10px;">left</td>
					</tr>
				  </tbody>
				</table>

		  </div>
		  <!--[if (gte mso 9)|(IE)]></td><td><![endif]--> 
		  
		  <div style="display:inline-block; max-width:340px; min-width:200px; vertical-align:top; width:100%;">
			  <table width="100%" border="0" cellspacing="0" cellpadding="0">
				  <tbody>
					<tr>
					  <td style="font-size:10px;">right</td>
					</tr>
				  </tbody>
				</table>

		  </div>
		  
		<!--[if (gte mso 9)|(IE)]></td></tr></table><![endif]--> 
		
	  </td>
    </tr>
  </tbody>
</table>

Надеюсь, что это тот ответ, который вы ищете.

Приветствия

0 голосов
/ 16 октября 2018

Вот трюк, который я придумаю.

html

<div class="l">
  left text
</div>
<div class="m">

</div>
<div class="r">
  rigth text rigth text
</div>

css

.l {
  display: inline-block;
}

.m {
  display: inline-block;
  width: calc(100% - 180px);
}

.r {
  display: inline-block;
}

jsfiddle .

Это просто.Мне нужно всегда иметь как можно большее расстояние между левым и правым компонентом, и оно отображается в свойстве calc фиктивного элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...