为什么这个HTML字符串如此冗余?

时间:2018-09-01 20:31:30

标签: html css

我正在处理一个简单的新闻通讯,我想知道为什么我发现的这段代码是如此多余。

<td id="m_1257726376905495529templateFooter" style="background:#0066cc none no-
repeat center/cover;background-color:#0066cc;background-image:none;background-
repeat:no-repeat;background-position:center;background-size:cover;border-
top:0;border-bottom:0;padding-top:10px;padding-bottom:10px" valign="top">

为什么上面的代码如此多余?

2 个答案:

答案 0 :(得分:0)

这可能是由于大多数电子邮件客户端对CSS的支持水平较低。通常不支持使用CSS类,选择器等。这就是为什么最好的做法是内联HTML文档中的所有CSS样式,并避免使用诸如background: #0066CC none no-repeat center/cover之类的复合样式声明。

另一个原因可能是人类更容易阅读复合样式声明,但是内容可能无法正确呈现。因此,出于兼容性目的,还应用了简单的background-*样式。

当然,这些都不是所有可能的原因。

即使您要创建一个非常基础的书,我还是建议您熟悉一些guidelines in e-mail newsletter design

Here is a table with major e-mail clients support of CSS.

答案 1 :(得分:0)

类似于@FIL给出的答案,这可能是由于电子邮件客户端支持。一些不支持背景速记属性,因此添加了所有常规的background- *属性。这种内联样式是否有可能不是手写的,而是由一些构建步骤添加的。这也许可以解释为什么会有重复,而我认为这就是您所指的冗余。