制作漂亮的邮件模板
文章目录
上一篇中讲到如何通过 nodejs 发送通知邮件,在发送通知邮件的时候, 假如可以有漂亮的邮件模板就更好了,但是出于安全的原因, 邮件一般不支持 link 或者 style 样式,只能通过内联的方式。
想着内联就内联,先写个 demo 看看呗,于是有了下面的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>邮件模板</title> </head> <body> <div class="panel" style="width: 300px;margin: 20px;border-radius: 4px;border: 1px solid #bce8f1;"> <div class="panel-title" style="padding: 10px 15px;color: #31708f;background-color: #d9edf7;border-color: #bce8f1;border-radius: 4px 4px 0 0;"> 测试标题 </div> <div class="panel-body" style="padding: 15px;color: #3a87ad;font-size: 30px;text-align: center;"> 测试内容 </div> </div> <div class="panel panel-success" style="width: 300px;margin: 20px;border-radius: 4px;border: 1px solid #d6e9c6;"> <div class="panel-title" style="padding: 10px 15px;color: #3c763d;background-color: #dff0d8;border-color: #d6e9c6;border-radius: 4px 4px 0 0;"> 测试标题 </div> <div class="panel-body" style="padding: 15px;color: #468847;font-size: 30px;text-align: center;"> 测试内容 </div> </div> <div class="panel panel-danger" style="width: 300px;margin: 20px;border-radius: 4px;border: 1px solid #ebccd1;"> <div class="panel-title" style="padding: 10px 15px;color: #a94442;background-color: #f2dede;border-color: #ebccd1;border-radius: 4px 4px 0 0;"> 测试标题 </div> <div class="panel-body" style="padding: 15px;color: #b94a48;font-size: 30px;text-align: center;"> 测试内容 </div> </div> </body> </html> |
可以看到使用内联样式开发会比较耗时,会写重复的样式,而且维护起来也十分费时。
那么有没有什么办法可以不用这么麻烦呢,要是可以将普通的 css 样式自动变为内联样式就好了。
想着如何实现的时候(有空自己实现个)找到了 The Automatic CSS Inliner Tool。
有了自动转换工具,那就简单了。首先,编写普通的 html 代码,把 css 样式放到 style 标签中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>邮件模板</title> <style> .panel { width: 300px; margin: 20px; border-radius: 4px; border: 1px solid #bce8f1; } .panel-title { padding: 10px 15px; color: #31708f; background-color: #d9edf7; border-color: #bce8f1; border-radius: 4px 4px 0 0; } .panel-body { padding: 15px; color: #3a87ad; font-size: 30px; text-align: center; } .panel-success { border: 1px solid #d6e9c6; } .panel-success .panel-title { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success .panel-body { color: #468847; } .panel-danger { border: 1px solid #ebccd1; } .panel-danger .panel-title { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .panel-danger .panel-body { color: #b94a48; } </style> </head> <body> <div class="panel"> <div class="panel-title"> 测试标题 </div> <div class="panel-body"> 测试内容 </div> </div> <div class="panel panel-success"> <div class="panel-title"> 测试标题 </div> <div class="panel-body"> 测试内容 </div> </div> <div class="panel panel-danger"> <div class="panel-title"> 测试标题 </div> <div class="panel-body"> 测试内容 </div> </div> </body> </html> |
然后使用上面说的工具,点击 Convert It!
转换即可生成我们想要的模板了。
文章作者 wenzhixin
上次更新 2014-01-24