Ответ 1
Подобно этому
CSS
table{
width:100%;
}
Учитывая следующее для шаблона электронной почты:
<style>
@import url("http://fonts.googleapis.com/css?family=Open Sans");
</style>
<div style="width:100%; background:#F2F2F2">
<table style="padding: 25px; margin: 0 auto; font-family:'Open Sans', 'Helvetica', 'Arial';">
<tr align="center" style="margin: 0; padding: 0;">
<td>
<table style="border-style:solid; border-width:2px; border-color: #c3d2d9;" cellspacing="0">
<tr style="background-color: white;">
<td style="width: 700px; padding: 10px 15px 10px 15px; color: #000000;">
<p>Some content here</p>
<span style="font-weight: bold;">My Signature</span><br/>
My Title<br/>
My Company<br/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
Таблица будет точно равна 700px, это то, что необходимо. Однако, поскольку его полностью фиксированная ширина, он не может изменять размер на устройствах с шириной менее 700 пикселей. Но если я изменю элемент td на это:
<td style="max-width: 700px; width: 90%; padding: 10px 15px 10px 15px; color: #000000;">
<p>Some content here</p>
<span style="font-weight: bold;">My Signature</span><br/>
My Title<br/>
My Company<br/>
</td>
Тогда таблица шириной ~ 100 пикселей.
Как бы я изменил порядок CSS, чтобы сделать его таким, чтобы таблица была размером 700 пикселей, но менялась, поскольку размер окна просмотра меньше?
Подобно этому
CSS
table{
width:100%;
}
У меня была та же проблема, из-за которой у меня был класс bootstrap "hidden-lg" на столе, из-за чего он глупо стал отображаться: block! important;
Интересно, как Bootstrap никогда не считал, что просто вместо этого сделал это:
@media (min-width: 1200px) {
.hidden-lg {
display: none;
}
}
И затем просто оставьте элемент, какой бы он был на нем раньше, для других экранов.. Возможно, он слишком продвинут для них, чтобы понять.
В любом случае так:
table {
display: table; /* check so these really applies */
width: 100%;
}
должен работать
max-width определенно не поддерживается. Если вы собираетесь использовать его, используйте его в медиа-запросе в теге стиля. ios, android и почтовая почта по умолчанию для телефонов Windows поддерживают их. (gmail и Outlook Mobile не работают)
http://www.campaignmonitor.com/guides/mobile/targeting/
Посмотрите на пример starbucks внизу
У меня есть очень хорошо работающее решение для таблиц max-width: 100%
. Просто используйте word-break: break-all;
чтобы ячейки таблицы (кроме ячеек заголовка) разбивали весь длинный текст на несколько строк:
<!DOCTYPE html>
<html>
<head>
<style>
table {
max-width: 100%;
}
table td {
word-break: break-all;
}
</style>
</head>
<body>
<table border="1">
<tr>
<th><strong>Input</strong></th>
<th><strong>Output</strong></th>
</tr>
<tr>
<td>some text</td>
<td>12b6459fc6b4cabb4b1990be1a78e4dc5fa79c3a0fe9aa9f0386d673cfb762171a4aaa363b8dac4c33e0ad23e4830888</td>
</tr>
</table>
</body>
</html>
Это будет выглядеть так (когда ширина экрана ограничена):
Вам необходимо использовать:
table{
width:100%;
table-layout: fixed;
overflow-wrap: break-word;
}
Используйте это:
<div style="width:700px; background:#F2F2F2">
<table style="width:100%;padding: 25px; margin: 0 auto; font-family:'Open Sans', 'Helvetica', 'Arial';">
<tr align="center" style="margin: 0; padding: 0;">
<td>
<table style="width:100%;border-style:solid; border-width:2px; border-color: #c3d2d9;" cellspacing="0">
<tr style="background-color: white;">
<td style=" padding: 10px 15px 10px 15px; color: #000000;">
<p>Some content here</p>
<span style="font-weight: bold;">My Signature</span><br/>
My Title<br/>
My Company<br/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>