wodehuajianrui

博客园 首页 新随笔 联系 订阅 管理
 

这篇文章内列出了一些专门针对于网页邮件的CSS编写的出现问题以及解决办法

1.       对于网页邮件,如果要向网页内添加CSS样式,请用内部样式表,因为对于大多数网站,外部的样式表都会被默认屏弊,尽管你能在本地浏览精美的网页,但是在邮件里将只能看到它的内容,但是样式已经完全不存在了。

2.       当你创建并应用内部样式表的时候,在<style type=”text/css”>之后,一定要添加注释行标记<!--并且在</style>标记之前用-->将它结束。否则在邮件中,CSS将无法显示。原因不明,但是几乎测试过所有的邮件提供商都会这样(gmail除外,因此最好不要向gmail发送任何带有CSS标记的网页邮件,因为那样你的邮件在邮箱里如何显示你将无法预知和控制。除非你想在每个HTML标记后都为它写上style属性——当然如果你这么做了,恭喜你,你成功了,但是你可能会被累死,而且我无法写一个dll去帮你)。

3.       你将能够在body样式中声明background属性,但是不能声明font属性,如果你想统一定义网页的font,请在body中直接声明一个IDcontainer(main)之类的容器,并在它的内部声明font属性。这是因为你的网页在邮件中显示的时候,要遵守邮件服务提供商的规则,在它的网页里已经有一个body容器,因此显示会出现问题。我们只能做这种退而求其次的权宜的做法。

4.       慎用floatclear属性,因为你无法得知用户的邮件服务商为邮件正文提供多少比例的空间来显示你的网页。这样float会使块元素的排列变得不可预知。如果你已经将浮动掌握得炉火纯青,那么这一条可以不必考虑。

5.       你可以为每个块元素定义它的宽度和高度,但是你定义宽度的时候应该谨慎,因为你无法知道用户的屏幕分辨率是多少,当然现在一般不会还有人用800*600,但是你的宽度还是不要超过800(同时这也适用于其他的CSS代码编写工作)。

6.       最好通知你的用户,不要在新窗口打开你的网页。因为在新窗口打开邮件的命令,是用了一个javascript语句实现的,它仅仅返回了body中的innerHtml字段。正因为如此,你在<head></head>中定义的种种CSS将不会被继承,这样的话你将不能看到任何CSS样式,包括非常重要的background-image。(需要说一句的是,我的163VIP邮箱在新窗口打开的时候能够正常显示,它的原理我也不清楚)

7.       确保你的CSS代码没有问题,因为浏览器的纠错能力非常强,你在本地看起来没有问题的网页,可能会存在一些不为所知的小bug,但是当你把它发到邮箱里面的时候,这些bug将显现无疑,因此你在给用户发送之前,最好多做一些严格的测试。

posted on 2008-07-03 09:26  花间蕊  阅读(423)  评论(1编辑  收藏  举报