我目前正在制作一些电子邮件模板,我想使用尽可能少的 CSS。因此,我没有使用“padding
”或“margin
”,而是使用了 cellpadding=""
和 cellspacing=""
属性代替。
我想知道,在 CSS 中,您可以在向这样的元素应用填充时使用 X
和 Y
:
padding: 0 10px 3px 0;
是否还有一种方法可以使用 cellpadding=""
或 cellspacing=""
属性来做到这一点?
最佳答案
因此,如果您将来遇到这个问题,并且正在为您的网站寻找解决方案,那么我强烈建议您使用 CSS 而不是已弃用的 HTML 属性 cellpadding
和 cellspacing
!您可以内联定义它,所以它可能感觉有点像 cellpadding
, 但最好你应该在外部 CSS 文件中编写此声明并定义类似
td {
padding: 5px; /* cellpadding */
margin: 5px; /* cellspacing */
}
您甚至可以设置 padding
和 margin
元素的每一面都是这样的:
td {
padding: 5px 10px 15px 20px; /* top, right, bottom, left */
margin: 5px 10px 15px 20px; /* equal to padding */
}
现在,如果您遇到这个问题,因为您目前正在开发一个 HTML 电子邮件模板,那么首先请接受我的哀悼。即使是(或尤其是)现在,这也是一项非常可怕的任务。
编写 HTML 电子邮件是使用已弃用的 HTML 元素和属性而不是最新的 CSS 解决方案的唯一借口,因为 CSS 的处理在电子邮件客户端与电子邮件客户端之间有很大不同,并且它们中的大多数都有一些遗留支持对于弃用的东西。在每种情况下,您都应该尽可能多地进行测试,看看是否有 CSS 解决方案,它适用于最常见的客户端(不同的浏览器和 Web 客户端、Outlook、Win10 邮件应用程序、iOS 和 Android 原生邮件应用程序、收件箱或 Gmail 应用程序等...)。如果可行:使用 CSS!只使用老式的 HTML,如果这样效果更好的话。
在任何情况下您都需要使用内联 CSS 声明,因为大多数电子邮件客户端会切断 <head>
中定义的 CSS。 , 它们根本不会加载外部文件。
现在,回答这个问题:用cellpadding
和 cellspacing
不可能为每一侧设置单独的填充或间距,不幸的是,您只能指定一个适用于每一侧的数字。但在这种特定情况下,我认为使用带填充和/或边距的内联 css 是安全的,据我所知,大多数电子邮件客户端都支持这种方式。
关于html - 单元格填充中的 X 和 Y ="",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46033715/