簡體   English   中英

html表格100%寬度

[英]html tables 100% width

確實有一個問題,但我無法像我想要的那樣工作……不要再做很多HTML了。 這是我得到的:

<table border="0" width="600" cellspacing="0" cellpadding="0">
<thead>
<tr><th style="font-size: 13px; padding: 5px 9px 6px 9px; line-height: 1em;" align="left" bgcolor="#EAEAEA" width="300">Shipping Information:</th><th width="10">&nbsp;</th><th style="font-size: 13px; padding: 5px 9px 6px 9px; line-height: 1em;" align="left" bgcolor="#EAEAEA" width="300">Shipping Method:</th></tr>
</thead>
<tbody>
<tr>
<td style="font-size: 12px; padding: 7px 9px 9px 9px; border-left: 1px solid #EAEAEA; border-bottom: 1px solid #EAEAEA; border-right: 1px solid #EAEAEA;" valign="top">{{var order.getShippingAddress().format('html')}} &nbsp;</td>
<td>&nbsp;</td>
<td style="font-size: 12px; padding: 7px 9px 9px 9px; border-left: 1px solid #EAEAEA; border-bottom: 1px solid #EAEAEA; border-right: 1px solid #EAEAEA;" valign="top">{{var order.getShippingDescription()}} &nbsp;</td>
</tr>
</tbody>
</table>
<table border="0" width="600" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>{{/depend}} {{layout handle="sales_email_order_items" order=$order}}
<p style="font-size: 12px; margin: 0 0 10px 0;">{{var order.getEmailCustomerNote()}}</p>
</td>
</tr>
</tbody>
</table>

第二個表不符合600寬度,似乎在某個地方被覆蓋。 我以為如果我寫任何類型的內聯樣式都會覆蓋其他所有內容。 ...我基本上希望第二張桌子的大小與第一張桌子的大小相同。

我試過只在第一個表中放入一個額外的<tr><td></td></tr>並完全刪除第二個表,但是比它擴大一個td並在前兩個td中擠壓另一個td

*****這是一封電子郵件*****

這是header.phtml文件:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"> <!-- utf-8 works for most cases -->
        <meta name="viewport" content="width=device-width"> <!-- Forcing initial-scale shouldn't be necessary -->
        <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Use the latest (edge) version of IE rendering engine -->
        <title></title>
        <!-- The title tag shows in email notifications, like Android 4.4. -->
        <style type="text/css">
            /* What it does: Remove spaces around the email design added by some email clients. */
            /* Beware: It can remove the padding / margin and add a background color to the compose a reply window. */
            html,
            body {
            margin: 0;
            padding: 0;
            height: 100% !important;
            width: 100% !important;
            }
            /* What it does: Stops email clients resizing small text. */
            * {
            -ms-text-size-adjust: 100%;
            -webkit-text-size-adjust: 100%;
            }
            /* What it does: Forces Outlook.com to display emails full width. */
            .ExternalClass {
            width: 100%;
            }
            /* What it does: Stops Outlook from adding extra spacing to tables. */
            table,
            td {
            mso-table-lspace: 0pt;
            mso-table-rspace: 0pt;
            }
            /* What it does: Fixes webkit padding issue. */
            table {
            border-spacing:0 !important;
            }
            /* What it does: Fixes Outlook.com line height. */
            .ExternalClass,
            .ExternalClass * {
            line-height: 100%;
            }
            /* What it does: Fix for Yahoo mail table alignment bug. */
            table {
            border-collapse: collapse;
            margin: 0 auto;
            }
            /* What it does: Uses a better rendering method when resizing images in IE. */
            img {
            -ms-interpolation-mode:bicubic;
            }
            /* What it does: Overrides styles added when Yahoo's auto-senses a link. */
            .yshortcuts a {
            border-bottom: none !important;
            }
            /* What it does: Overrides blue, underlined link auto-detected by iOS Mail. */
            /* Create a class for every link style needed; this template needs only one for the link in the footer. */
            .mobile-link--footer a {
            color: #666666 !important;
            }
            /* What it does: Overrides styles added images. */
            img {
            border:0 !important;
            outline:none !important;
            text-decoration:none !important;
            }
            @media screen and (min-device-width: 768px) {
            /* Hides the nav menu except for gmail */
            *[class].desktopHide {
            display: none !important;
            }
            }
            /* Media Queries */
            @media screen and (max-device-width: 600px), screen and (max-width: 600px) {
            /* What it does: Overrides email-container's desktop width and forces it into a 100% fluid width. */
            .email-container {
            width: 100% !important;
            }
            /* Hides the nav menu except for gmail */
            *[class].mobileHide {
            display: none !important;
            }
            /* What it does: Forces images to resize to the width of their container. */
            img[class="fluid"],
            img[class="fluid-centered"] {
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            margin: auto !important;
            }
            /* And center justify these ones. */
            img[class="fluid-centered"] {
            margin: auto !important;
            }
            /* What it does: Forces images to resize to the width of their container. */
            img[class="stack-column"],
            img[class="stack-column-center"] {
            width: 100% !important;
            max-width: 600px !important;
            height: auto !important;
            margin: auto !important;
            }
            img[class="stack-column-half"],
            img[class="stack-column-center-half"] {
            width: 100% !important;
            max-width: 300px !important;
            height: auto !important;
            margin: auto !important;
            }
            img[class="stack-column-third"],
            img[class="stack-column-third-center"] {
            width: 100% !important;
            max-width: 120px !important;
            height: auto !important;
            margin: auto !important;
            }
            /* What it does: Forces table cells into full-width rows. */
            td[class="stack-column"],
            td[class="stack-column-center"] {
            display: block !important;
            width: 100% !important;
            direction: ltr !important;
            }
            /* What it does: Forces table cells into full-width rows. */
            td[class="stack-column-half"],
            td[class="stack-column-half-center"] {
            display: inline-block !important;
            width: 50% !important;
            direction: ltr !important;
            }
            td[class="stack-column-third"],
            td[class="stack-column-third-center"] {
            display: inline-block !important;
            width: 32% !important;
            direction: ltr !important;
            }
            /* And center justify these ones. */
            td[class="stack-column-center"] {
            text-align: center !important;
            }
            /* Data Table Styles */
            /* What it does: Hides table headers */
            td[class="data-table-th"] {
            display: none !important;
            }
            /* What it does: Hides table headers */
            td[class="data-table-th"] {
            display: none !important;
            }
            /* What it does: Change the look and layout of the remaining td's */
            td[class="data-table-td"],
            td[class="data-table-td-title"] {
            display: block !important;
            width: 100% !important;
            border: 0 !important;
            }
            /* What it does: Changes the appearance of the first td in each row */
            td[class="data-table-td-title"] {
            font-weight: bold;
            color: #000000;
            padding: 10px 0 0 0 !important;
            border-top: 2px solid #eeeeee !important;
            }
            /* What it does: Changes the appearance of the other td's in each row */
            td[class="data-table-td"] {
            padding: 5px 0 0 0 !important
            }
            /* What it does: Provides a visual divider between table rows. In this case, a bit of extra space. */
            td[class="data-table-mobile-divider"] {
            display: block !important;
            height: 20px;
            }
            /* END Data Table Styles */
            }
        </style>
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" bgcolor="#f8f8f8" style="margin: 0px; padding: 0px; zoom: 100%;">
        <table cellpadding="0" cellspacing="0" border="0" height="100%" width="100%" bgcolor="#f8f8f8" style="border-collapse:collapse;">
            <tbody>
                <tr>
                    <td>
                    <!-- Visually Hidden Preheader Text : BEGIN -->
                    <div style="display:none; visibility:hidden; opacity:0; color:transparent; height:0; width:0; line-height:0; overflow:hidden; mso-hide: all;">
                    Shop new arrivals now!
                    </div>
                    <!-- Visually Hidden Preheader Text : END -->
                    <!-- Email wrapper : BEGIN -->
                    <table border="0" width="600" cellpadding="0" cellspacing="0" align="center" bgcolor="#ffffff" style="width:600px; margin: auto;" class="email-container">
                        <!-- Full Width, Fluid Column : BEGIN -->
                        <tbody>
                            <tr>
                                <td style="font-family:Helvetica, Arial, sans-serif; color: #999999; font-size:10px; text-align: right;">
                                <a href="[[BrowserLink]]" title="View In Browser" style="color: #999999;">View in Browser</a>
                                </td>
                            </tr>
                            <!-- Full Width, Fluid Column : END -->
                            <tr>
                                <td>
                                <!-- Logo + Links : BEGIN -->
                                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                                    <tbody>
                                        <tr>
                                            <td height="5" style="font-size: 0; line-height: 0;">&nbsp;</td>
                                        </tr>
                                        <tr>
                                            <td valign="middle" align="center" style="padding:0px 0; text-align:center; line-height: 0;" class="stack-column-center">
                                            <a href="http://www.website.com/?email=#Listrak\Email#" title="website.com"><img src="http://cdn.website.com/media/wysiwyg/emails/ecomm/2016_0524_dresses/0524_Dresses_09.jpg" alt="website Stone" width="600" height="70" border="0" style="margin: auto;"></a>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td height="5" style="font-size: 0; line-height: 0;">&nbsp;</td>
                                        </tr>
                                    </tbody>
                                </table>
                                <!-- Logo + Links : END -->
                                <!-- Menu : BEGIN -->
                                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                                    <tbody>
                                        <tr>
                                            <td>
                                            </td>
                                        </tr>
                                    </tbody>
                                </table>
                                <!-- Menu : END -->
                                <!-- Free Shipping Pre-Header : BEGIN -->
                                <table width="100%" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0">
                                    <tbody>
                                        <tr>
                                            <td>
                                            <table align="center" border="0" cellpadding="0" cellspacing="0">
                                                <tbody>
                                                    <tr>
                                                        <td>
                                                        </td>
                                                    </tr>
                                                </tbody>
                                            </table>
                                            </td>
                                        </tr>
                                    </tbody>
                                </table>
                                <table class="mobileHide" width="100%" border="0" cellpadding="0" cellspacing="0">
                                    <tbody>
                                        <tr>
                                            <td style="border-top: 0px solid #eeeeee;" height="2">
                                            <img src="http://media.website.com/6385/Shared/sca/spacer.gif" style="display: block;" height="1" border="0">
                                            </td>
                                        </tr>
                                    </tbody>
                                </table>

實際上,兩個表的寬度相同。 如果更新border =“ 01”,則可以正確看到表格的寬度。

如果要刪除第二張表,請在第一張表中添加colspan屬性等於3的另一行,因為第一張表有3列。

<tr><td colspan="3"></td></tr>

我想建議使用CSS類而不是內聯樣式。

僅用兩個表查看您的第一段代碼,它們以相同的寬度顯示。 我修改了代碼,在兩個表上都放置了一個大小為2的紅色邊框,您可以看到它們的寬度確實相同。

 <table border="2" bordercolor="red" width="600" cellspacing="0" cellpadding="0"> <thead> <tr> <th style="font-size: 13px; padding: 5px 9px 6px 9px; line-height: 1em;" align="left" bgcolor="#EAEAEA" width="300">Shipping Information:</th> <th width="10">&nbsp;</th> <th style="font-size: 13px; padding: 5px 9px 6px 9px; line-height: 1em;" align="left" bgcolor="#EAEAEA" width="300">Shipping Method:</th> </tr> </thead> <tbody> <tr> <td style="font-size: 12px; padding: 7px 9px 9px 9px; border-left: 1px solid #EAEAEA; border-bottom: 1px solid #EAEAEA; border-right: 1px solid #EAEAEA;" valign="top">{{var order.getShippingAddress().format('html')}} &nbsp;</td> <td>&nbsp;</td> <td style="font-size: 12px; padding: 7px 9px 9px 9px; border-left: 1px solid #EAEAEA; border-bottom: 1px solid #EAEAEA; border-right: 1px solid #EAEAEA;" valign="top">{{var order.getShippingDescription()}} &nbsp;</td> </tr> </tbody> </table> <table border="2" bordercolor="red" width="600" cellspacing="0" cellpadding="0"> <tbody> <tr> <td> {{/depend}} {{layout handle="sales_email_order_items" order=$order}} <p style="font-size: 12px; margin: 0 0 10px 0;">{{var order.getEmailCustomerNote()}}</p> </td> </tr> </tbody> </table> 

老實說,關於您的第二段代碼( header.phtml文件),我不太了解這與您的第一段代碼有何關系。 您提供的代碼是不完整的,並且表中的表(其中許多是單行,單個數據單元)中的嵌套表太復雜了,因此無法在此處進行解密。

由於這是一封電子郵件,並且我為自己獲得電子郵件中正確的HTML格式而奮斗,所以我會說,您必須放棄所有現代標准和樣式的HTML開發,尤其是涉及Microsoft電子郵件客戶端時,並假裝是1990年代。 不幸的是,有時有時需要嵌套表才能獲得所需的內容( 不寒而栗 )。 就像任何HTML設計一樣,布局越簡單,實現它的時間就越容易。

這里還有一些鏈接,在使HTML電子郵件正常運行時,我認為這些鏈接對於參考和教育非常有用。 希望他們也能為您提供幫助:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM