【发布时间】:2021-09-16 19:58:09
【问题描述】:
早安!
我有简单的 HTML 和 CSS 结构,看起来像这样:
.item{
background-color: cyan;
width: 50px;
height: 50px;
border-radius: 50%;
display: table;
}
.item > div{
display: table-cell;
vertical-align: middle;
text-align: center;
}
<table style="width: 100%; margin-top: 10px;">
<tr style="width: 100%;">
<td style="width: 10%;"><div class="item"><div>0</div></div></td>
<td style="width: 10%;"><div class="item"><div>1</div></div></td>
<td style="width: 10%;"><div class="item"><div>2</div></div></td>
<td style="width: 10%;"><div class="item"><div>3</div></div></td>
<td style="width: 10%;"><div class="item"><div>4</div></div></td>
<td style="width: 10%;"><div class="item"><div>5</div></div></td>
<td style="width: 10%;"><div class="item"><div>6</div></div></td>
<td style="width: 10%;"><div class="item"><div>7</div></div></td>
<td style="width: 10%;"><div class="item"><div>8</div></div></td>
<td style="width: 10%;"><div class="item"><div>9</div></div></td>
<td style="width: 10%;"><div class="item"><div>10</div></div></td>
</tr>
</table>
<table style="width: 100%;">
<tr style="width: 100%;">
<td style="width: 10%;"><div><div style="text-align: left; font-size: 12.5px;">Zdecydowanie nie polece</div></div></td>
<td style="width: 80%;"><div><div></div></div></td>
<td style="width: 10%;"><div><div style="text-align: right; font-size: 12.5px;">Zdecydowanie polece</div></div></td>
</tr>
</table>
现在,在移动设备上,我想稍微改变一下这些元素的位置。但是媒体查询不是问题。我想要这样的东西:
问题是,我不能使用任何 flexbox 或网格样式方法,因为我正在为电子邮件目的制作模板。那么您知道我们如何将这种结构样式设置为来自 IMG 的结构吗?
祝你有美好的一天!
【问题讨论】:
-
如果您是为电子邮件客户端执行此操作,我什至认为您不能使用
position: relative;。 -
电子邮件不是。 ;)
-
如果你回到你已经得到的解决方案stackoverflow.com/a/69192203/1427878,TD元素显示为
inline-block,你可以通过每秒应用相对定位和/或边距来做到这一点元素 - 通过:nth-child(even),或者如果这在邮件客户端中也不起作用,则直接应用内联样式。 -
我建议使用任何可视化编辑器来创建这封电子邮件。
-
也许你可以等待最佳答案,我也想学习这个。但在过去,我在所有各种电子邮件客户端上拥有相同外观和感觉的方式是我的首要任务是在 Photoshop 中切片图像(具有白色背景)并将它们放入在 Outlook 中创建的表格单元格中。单元格都被指定为 0 间距,因此它看起来像一个紧凑的图像。这使我可以设置每个部分的链接。但是,白色背景部分也会有悬停。