2013-11-14 2 views
0

Для некоторых украшений мне нужно вставить верхний край в начале документа, который составляет 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;"> 

Это для использования в электронной почте.

Конечно, можно вычислить количество пикселей в пикселях и добавить статический результат в тег < tr>. Но, это часть полуавтоматического процесса, и я хотел бы избежать этого.
Также обратите внимание, что целевой SMTP-сервер может иметь строгую политику и отказывать вложения. Итак, я не вижу, как использовать внешние библиотеки (например, JQuery). В качестве современного экстентамента я бы хотел избежать использования их ...

Принимаются любые встраиваемые решения (css; javascript; svg ...).

ответ

-1

Существует видовые экраны, предназначенные для этого. Немногие браузер поддерживают его на самом деле, но использование height="34vh" будет правильным способом для продолжения через несколько лет.

Потребуется несколько лет, чтобы клиенты соответствовали стандарту. Фактический способ действовать сейчас - это вычислять размер (в пикселях) вручную каждый раз, когда документ редактируется.

+1

Я не думаю, что это очень хороший ответ на вашу собственную проблему, так как вы знаете, что он почти не поддерживается. Обратите внимание, что некоторые стили, которые в настоящее время поддерживаются в браузерах, также не работают в электронных письмах. – m59

+0

@ m59: Вы были правы для javascript слишком много клиентов imap отключили JavaScript. Через 6/9 лет это будет правильным решением, поскольку текущий: я НЕ МОЖЕТ! – user2284570

2

document.body.parentNode.offsetHeight но - javascript не будет запускаться в сообщениях электронной почты :) Поэтому я считаю, что вам нужно сделать это вручную.

+0

Я не знаю, что документ.body.parentNode.offsetHeight делает ... не могли бы вы это объяснить. Для javascript .... неправильно! Большая часть моего получателя использует Thunderbird (который использует тот же движок gecko в firefox) или веб-почту ... У меня уже есть некоторые части в разделе главы, и он работает. – user2284570

+0

Большинство почтовых служб не разрешают javascript. Google вряд ли разрешает html, lol. В любом случае, делай то, что хочешь. 'document.body' просто выбирает тело. 'parentNode' тела - это тег' html', который может иметь дополнительную высоту. Я предпочитаю выбирать его, чтобы быть уверенным, так как вы сказали, что хотите всю высоту всей страницы. 'offsetHeight' должен быть общей высотой элемента, включая поля/отступы. Я также считаю, что уместно упомянуть, что некоторые почтовые службы также будут вытеснять тег 'html' и даже тег' body'! @ user2284570 – m59

+0

Я когда-либо видел HTML5/css3, работающий в gmail-почтовом ящике ... Thunderbird разрешает даже HTML5-видео с YouTube с iframes ... на веб-сайте консультировался, хотя iframes получил пользовательский агент firefox :) – user2284570

0

, так как у вас нет полей на теле, простая высота должна это делать.

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

Он не будет включать число маркеров пикселей по марже. Здесь размер необходимого мне коэффициента - final_body = margin 34% и основной 66%. Это даст высоту документа и применит маржу, после которой не будет того, что я хочу. – user2284570

Смежные вопросы