目前要做一个定时发送邮件的功能,邮件的大致内容布局如下:

HTML中

在QQ邮件中,可以进行正常显示。

在outlook网页版,也可以正常显示,

outlook客户端

但是到了客户端就会出现很多很神奇的问题,基本样式全丢,浮动不支持,定位不支持,所以很多样式都乱了,后来百度一下才知道OUTLOOK是按照word的方式解析的,很多样式,标签都不支持,不支持内部样式表,所以只能写内联,等等兼容问题,这里记录一下:

首先outlook支持传统的table 布局,不支持浮动,定位布局。所以写的时候就要注意这一点。

1.内部样式表,外联样式表,JS不支持

这里写样式的话,只能写内联

2.table样式初始化,将内部边距合并

和普通浏览器一样都是为table 本身添加cellpadding="0" cellspacing="0"属性

3.border问题

给每一个td添加边框

<td style="border: 1px solid #919191!important;"></td>

 再通过border-collapse:collapse对边框进行合并

<table cellpadding="0" cellspacing="0" style=" border-collapse:collapse;">

4.margin,padding问题

在outlook的客户端,table上下的margin 会失效,这里参考网上使用hspacevspace,但是并没有效果,所以我采用了比较low的方式,填补了空元素来完成间隔

关于padding会自动添加,这里我为每一个td进行了样式清空 padding为0的方法来解决

5.line-height问题

mso-line-height-rule:exactly是微软的CSS属性,对其他无效,作用于块级元素
<td style="mso-line-height-rule:exactly; line-height:33px;">

6.浮动问题

左右浮动可以使用align="left"/"right"来实现

首先为大盒子定一个width,然后设置align="center",里面的img 注意不要设置align="right" 就可以实现图片在width中 右浮动

7.colspan,rowspan实现问题

这个我测试了依稀,在outlook客户端是可以被识别的,所以可以继续使用该属性

8.图片问题 注意使用线上绝对路径的src值,防止图片找不到

9.对于字体居中问题

要使每一个td里面的数据都居中对齐,需要结合使用

 <td align="center" style="text-align:center;">0</td>

有的不继承table中的字体居中属性,所以只能一个个设置

10.背景色问题

我曾经在网页中使用灰色作为背景,table为白色,来突出,到了客户端则全屏变为灰色,这里只要将bgcolor="#fff" 改成白色就可以了

这里放一个相关outlook内置html的较为详细的介绍链接,方便以后查看

11.这里补充一个点  十六进制颜色 的 缩写有的outlook也是不支持的 bgcolor="#f60" 这个颜色无法识别 只能写全 #ff6600 才可以识别

2018.0515

发现了一种新模式:

用提供的表格模版.excel 另存为.html 在用编译器打开,作为模版文件 进行嵌套

部分内容展示:

<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 14">
<style>
<!--table
{mso-displayed-decimal-separator:"\.";
mso-displayed-thousand-separator:"\,";}
@page
{margin:.75in .7in .75in .7in;
mso-header-margin:.3in;
mso-footer-margin:.3in;}
.style0
{mso-number-format:General;
vertical-align:bottom;
white-space:nowrap;
mso-rotate:0;
mso-background-source:auto;
mso-pattern:auto;
color:black;
font-size:11.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:����, sans-serif;
mso-font-charset:134;
border:none;
mso-protection:locked visible;
mso-style-name:��ͨ;
mso-style-id:0;}
rt
{color:windowtext;
font-size:9.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:����, monospace;
mso-font-charset:134;
mso-char-type:none;
display:none;}
-->
</style> html标签:
<col width=82 style='mso-width-source:userset;mso-width-alt:2998;width:82pt'>

  是excel本身的样式,单位,标签形式

兼容性:网页端和部分客户端outlook支持

最后得到了最简单的模版:

1.公用内部样式表:

<style>td{border-bottom:1px solid #d9d9d9;border-left:1px solid #d9d9d9;text-align:center;font-size:14px}</style>

2.table的内联样式(宽度根据需要定义)

<table width="880" border="0" cellspacing="0" cellpadding="0">

3.td内联样式(不需要每一个进行padding margin的清空 )

   <td width="110" rowspan="2" bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">品牌事业部</td>
width 内容确定 所以给了定值 rowspan colspan 跨行 跨列 bgcolor 是背景色 之后的内联样式 是根据特殊情况 字体加粗,大小等样式的控制

效果图: 

代码展示:

<table width="880" border="0" cellspacing="0" cellpadding="0"><tr><td style="text-align:right;border:none;vertical-align:middle;padding:14px 0 8px"><img src="http://static.yuntongauto.com/yth/images/cw-logo.png" /></td></tr></table>

<table width="880" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="8" style="text-align:center;border:none;font-size:40px;border-bottom:1px solid #f2f2f2;color:#9e1423;padding-bottom:20px">用品系统周报表</td>
</tr>
<tr>
<td height="50" colspan="4" style="font-weight:bold;text-align:left;border:none;font-size:15px"> 开始日期:2018/3/26   结束日期:2018/4/1</td>
<td colspan="4" style="font-weight:bold;text-align:right;border:none;font-size:15px">单位 :元   </td>
</tr>
<tr>
<td height="50" colspan="8" bgcolor="#157dd1" style="font-weight:bold;color:#fff;font-size:20px;border:none">全国汇总(已切换系统)</td>
</tr>
<tr>
<td width="110" rowspan="2" bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">品牌事业部</td>
<td width="110" height="32" bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">订单金额</td>
<td width="110" bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">销售金额</td>
<td width="110" bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">成本</td>
<td width="110" bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">毛利</td>
<td width="110" bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">毛利率</td>
<td width="110" bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">单车收入</td>
<td width="110" bgcolor="#f0f0f0" style="font-weight:bold;border-right:1px solid #d9d9d9;font-size:15px">单车毛利</td>
</tr>
<tr>
<td height="32" bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">本周</td>
<td bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">本周</td>
<td bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">本周</td>
<td bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">本周</td>
<td bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">本周</td>
<td bgcolor="#f0f0f0" style="font-weight:bold;font-size:15px">本周</td>
<td bgcolor="#f0f0f0" style="font-weight:bold;border-right:1px solid #d9d9d9;font-size:15px"><span style="font-weight:bold;font-size:15px">本周</span></td>
</tr>
<tr>
<td height="32" style="font-weight:bold">汇总</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td style="border-right:1px solid #d9d9d9"> </td>
</tr>
<tr>
<td height="32" style="font-weight:bold">事业一部</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td style="border-right:1px solid #d9d9d9"> </td>
</tr>
<tr>
<td height="32" style="font-weight:bold">事业二部</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td style="border-right:1px solid #d9d9d9"> </td>
</tr>
<tr>
<td height="32" style="font-weight:bold">事业三部</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td style="border-right:1px solid #d9d9d9"> </td>
</tr>
<tr>
<td height="32" style="font-weight:bold">事业四部</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td style="border-right:1px solid #d9d9d9"> </td>
</tr> </table>

  

  

outlook邮件中样式问题的更多相关文章

  1. 个人永久性免费-Excel催化剂功能第84波-批量提取OUTLOOK邮件附件

    批量操作的事情常常能让人感到十分畅快,区别于一次次的手工的操作,它真正实现了“人工智能”想要的效果,人指挥机器做事情,机器就可以按着人意去操作.此篇给大家再次送了批量操作一绝活,批量下载OUTLOOK ...

  2. smtp outlook邮件发送非授权码模式

    1.起因:send fail SMTP AUTH extension not supported by server. 使用端口25 和587均失效出现此问题 首先前往outlook修改设置pop和I ...

  3. Outlook 2010中263邮箱客户端设置

    Outlook 2010中263邮箱客户端设置 1.首次添加电子邮箱账户:打开outlook,在账户设置和服务中分别选择:“手动配置服务器设置或其他服务器类型”,“Internet电子邮件” 2.在i ...

  4. C#发送Outlook邮件(仅SMTP版本)

    先表明Outlook的参数:网址:https://support.office.com/zh-cn/article/Outlook-com-%E7%9A%84-POP%E3%80%81IMAP-%E5 ...

  5. 如何浏览并管理 Outlook 邮件?

    当你的邮件多起来的时候你就不得不考虑这个问题了,如何处理各种邮件? 如何浏览并管理 Outlook 邮件? 待续~

  6. MIME协议在邮件中的应用详解

    1.定义 全称是多用途互联网邮件扩展(MIME,Multipurpose Internet Mail Extensions),在MIME出台之前,使用RFC 822只能发送基本的ASCII码文本信息, ...

  7. SendCloud邮件中为什么会显示代发

    显示代发是发信的sender和发信人地址(from)不一致导致的. sender是SendCloud系统根据用户自设的发信域名生成的,目前是"随机地址@自有域名"做sender,所 ...

  8. 如何查看Outlook邮件的源码(包括ip)

    如何查看Outlook邮件的源码(包括ip) 一.总结 1.右键点击邮件可出现 view message details. 二.如何查看Outlook邮件的源码(包括ip) 1.点收件箱 2.鼠标右键 ...

  9. WPF中样式和行为和触发器

    原文:WPF中样式和行为和触发器 样式简介:样式(style)是组织和重用格式化选项的重要工具,不是使用重复的标记填充XAML,以便设置外边距.内边距.颜色以及字体等细节.而是创建一系列封装所有这些细 ...

随机推荐

  1. 021_nginx动态upstream检查

    GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部. #参考:http://tengine.taobao.org/document_cn/http_upstream_check ...

  2. 简单的三级联动demo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. 解决KafKa数据存储与顺序一致性保证

    “严格的顺序消费”有多么困难 下面就从3个方面来分析一下,对于一个消息中间件来说,”严格的顺序消费”有多么困难,或者说不可能. 发送端 发送端不能异步发送,异步发送在发送失败的情况下,就没办法保证消息 ...

  4. Android存储路径你了解多少?

    在了解存储路径之前,先来看看Android QQ的文件管理界面,了解一下QQ的数据文件路径来源,到底是来源于什么地方? 手Q文件管理对应存储目录 我的文件:是指放在QQ指定目录下的文件:/tencen ...

  5. HTML5从入门到精通(明日科技) 中文pdf扫描版

    HTML5从入门到精通(明日科技) 中文pdf扫描版

  6. spring-boot与spring-data-JPA的简单整合

    如何在boot中轻松使用JPA <!--首先引入JPA依赖--><dependency> <groupId>org.springframework.boot< ...

  7. SQLmap注入启发式检测算法

    1.经过setTargetEnv()就进入了checkWaf()的环节 def checkWaf():     """     Reference: http://sec ...

  8. CF1121C 模拟

    恶心场恶心题,,round千万不能用库函数的.. /*枚举时间轴t,r是当前完成比例, 记录每个测试的开始时间si,如果有t-si等于r,那么这个测试就标记一下 优先队列存储每个测试,按照si+ai的 ...

  9. Linux基础一:Linux的安装及相关配置

    1. 计算机操作系统简介    1) 操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间.    2) 操作系统的内核的定义:操作系统的内核是一 ...

  10. appium 手势

    1.2 appium玩转安卓手机 智能手机发展到今天,形成了一整套有关手势操作的操作习惯,如手指左右上下滑动,及双指缩放,还有手指的滑动解锁,摇晃手机等动作.那么我们怎么在python中利用appiu ...