以像素为单位获取整页的高度

时间:2013-11-14 02:13:40

标签: javascript html height

对于某些装饰,我需要在文档的开头插入一个上边距,它代表整个页面高度的34%(包括边距)。
我的页面<体>从这样开始:

    <body bgcolor="#dedede" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="-webkit-text-size-adjust:none;">
        <tbody>
            <table width="100%" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#dedede">
                <tr>
                    <td>
                        <table class="premier-tableau" width="600" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" align="center">
                        <thead>
                                <tr height="500" /> <!-- I need to use this line as a margin -->
                        </thead>
                        <tbody>
                            <tr>
                                <td width="35" />
                                <td width="530">
                                    <font color="#5e5e5e" face="Arial, Helvetica, sans-serif" size="2" style="font-size: 12px;">

这是用于电子邮件。

当然可以手动计算像素数,并将静态结果添加到&lt; TR&GT;标签。但是,它是半自动化过程的一部分,我想避免这种情况 另请注意,目标SMTP服务器可能具有严格的策略并拒绝附件。所以,我没有看到如何使用外部库(如JQuery)。作为一个现代的ecmascript,我想避免使用它们......

接受任何可嵌入的解决方案(css; javascript; svg ...)。

3 个答案:

答案 0 :(得分:2)

document.body.parentNode.offsetHeight但是 - javascript不会在电子邮件中运行:)因此我认为您需要手动执行此操作。

答案 1 :(得分:0)

因为身体上没有边距,所以应该有一个简单的高度。

document.getElementsByTagName("body")[0].height

答案 2 :(得分:-1)

有为此设计的视口单元。实际上很少有浏览器支持它,但使用height="34vh"将是在几年内继续进行的正确方法。

客户需要几年时间才能遵守该标准。现在进行的一种实际方法是每次编辑文档时手动计算大小(以px为单位)。