HTML电子邮件CSS:以表格和表格内容为中心,最受支持的解决方案
我正在准备邮件的html文件。我用的是表格,tr,td标签。到目前为止,我的html的全部内容都放在一个表中,包括一个单元格中的另一个小表(见下图)。我希望整张桌子始终显示在中间。我也想把小桌子放在单元格的中间。外桌的宽度是固定的。 我试着在CSS中输入:HTML电子邮件CSS:以表格和表格内容为中心,最受支持的解决方案,html,css,html-table,html-email,Html,Css,Html Table,Html Email,我正在准备邮件的html文件。我用的是表格,tr,td标签。到目前为止,我的html的全部内容都放在一个表中,包括一个单元格中的另一个小表(见下图)。我希望整张桌子始终显示在中间。我也想把小桌子放在单元格的中间。外桌的宽度是固定的。 我试着在CSS中输入: margin-left: auto; margin-right: auto; 及 ,所有这些我都在这里找到了。预览看起来不错,上传到邮件群发系统后的预览也可以。但发送后,中心根本不显示(Gmail中的内部表格也根本不显示,只显示内容)。因此
margin-left: auto;
margin-right: auto;
及
,所有这些我都在这里找到了。预览看起来不错,上传到邮件群发系统后的预览也可以。但发送后,中心根本不显示(Gmail中的内部表格也根本不显示,只显示内容)。因此,我正在寻找最常用、最广泛使用的HTML属性,它很可能在每个浏览器/邮件客户端中间显示表。或者,获取有关类属性可能错误使用的建议
我的整个部分:
<style>
table, th, td {
border-collapse: collapse;
font-family: Verdana, sant-serif;
}
th, td {
padding: 15px;
text-align: left;
}
.main {
width:1000px;
border: 5px solid #114889;
margin: 0px auto;
}
.inside {
width: 500px;
border: 1px dotted #0000CC;
background-color: #CCE5FF;
text-align: center;
font-size: 10px;
margin: 0px auto;
}
</style>
表,th,td{
边界塌陷:塌陷;
字体系列:Verdana,sant serif;
}
th,td{
填充:15px;
文本对齐:左对齐;
}
梅因先生{
宽度:1000px;
边框:5px实心#114889;
保证金:0px自动;
}
.里面{
宽度:500px;
边框:1px虚线#0000CC;
背景色:#CCE5FF;
文本对齐:居中;
字体大小:10px;
保证金:0px自动;
}
我不是这个话题的专家,所以我为使用错误的术语道歉
编辑:
在Outlook中显示。除了左对齐外,一切正常:
显示在Gmail中。没有任何表格:
试试这个
.parentTable {
position: relative;
}
.childTable {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
Outlook仅适用于表,因此您从这个角度来处理它是正确的。然而,一些Gmail环境甚至不看嵌入式CSS(CSS在
部分)。您需要“内联”CSS()
要在Outlook中居中放置表格,请使用
元素上的属性align,如下所示:
。您可能还需要使用…
,将其全部包装起来,即使该标记已被弃用(是的,电子邮件已经很旧了!)
您会发现Outlook通常支持属性,例如边框颜色,
,而其他的则支持内联样式,例如
。您应该同时使用两者,而不是依赖嵌入式CSS
如果您需要,我可以在发布受影响的HTML后进行更具体的更新。您是否使用
flex-box
进行了尝试?e、 g.显示:flex;对齐项目:居中;证明内容:中心
使用align items
进行垂直对齐,使用justify content
进行垂直对齐。@不幸的是,michaelT flex不适用于邮件css:/I认为您应该在标题中指定它用于邮件。电子邮件的CSS非常不同,它有自己的规则和功能experts@CristianTra哦,我不知道。谢谢你,我编辑了标题,奇怪的是Gmail根本没有显示表格——或者可能没有边框?你能展示那部分的HTML代码吗?谢谢。我是否将这些属性添加到.main和.inside类中(根据我的代码),而不是margin:0px auto代码>并保持其余属性不变?当我这样做的时候,文件变得疯狂。或者我应该单独添加这些类,然后在代码中以某种方式指向它们吗?我对课程还不是很精通,没有问题。我认为您可以将parentTable css属性带到主类,将childTable css带到类内。试试看。这不对,不适用于电子邮件。他们拥有非常有限的CSS子集support@KRISHJACKMAN,谢谢您抽出时间!不幸的是,它不适用于我的电子邮件:(非常感谢您的建议!我回到了内联css。首先,我在我的两个类描述中添加了align:center;
。我还在每个
元素前后添加了..
标记。然后我使用了内联工具。在Outlook和Gmail中都非常有效!首先尝试一下(只有内联css,但没有添加居中工具)图形不起作用(令人惊讶),但当我应用您的所有建议时,它确实起作用了…?无论如何,最终结果很好,谢谢!
.parentTable {
position: relative;
}
.childTable {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}