嗨,最近进入了邮件服务器兼容的领域,列举点滴收获。
- email中,若没有定义行高,则不同的邮箱会按照他们的样式进行渲染,最后可能不同的邮件服务器渲染出来的效果很不同。如:Hotmail 这样定义: * {line-height:131%;} 为了达到一致的效果,最好自己定义行高。
- email中,table布局时,若有白色的细线,很可能是td的列数错误,总数或某行的colspan数错了。
- 浏览器下line-height可以让文字在行高的空间中垂直居中,但是邮件服务器不行,特别是outlook。为了兼容,只能用笨方法:头部td,定高;中间文字td,定高;底部td,定高。确保文字在中央位置。
- email中,如果图片下方有空白,一像素或者几像素的空隙,那么将其父容器的font-size设为0,非零的line-height会影响到它,或者是在head里对style进行定义,如:.ExternalClass img{vertical-align:top;}
- 若定义容器div/td的height为20px,同时定义文字font:20px Verdana;,这时容器会被撑高为:
- Outlook: 23px;
- IE8: 23px;
- FF: 24px;
- 解决方案:给它height:25px;,然后font:20px Verdana;就可以了。