为什么我的桌子宽度和我的tr不一样

时间:2017-11-27 21:30:40

标签: html css xslt xls

我想在我的第一张桌子上有第二张桌子。 如何使第二个表格与第一个表格的TR一样宽? 为了使问题更加明显,我在代码中添加了一些颜色。 请原谅我这是第一次尝试HTML时的混乱...

    <table width="100%" style="border-collapse: collapse;border-spacing: 0;">
    <xsl:if test="NonOriginalArticlesCount">
        <xsl:for-each select="NonOriginalArticles/Mail_NewsletterArticle">
            <tr>
                <!--column picture-->
                <td rowspan="2" style="padding-top: 1.5em; ">
                    ...
                </td>
                <!--column name and desc-->
                <td colspan="3" style="padding-top: 1.5em;">
                    ...
                </td>
                <!--column price-->
                <td>
                ...     
                </td>
            </tr>
                <!--row alternative-->  
                <tr colspan="2">
                    <xsl:attribute name="style">
                    background:black;
                    backgound-color:black;
                    color:<xsl:value-of select="/Mail_Newsletter/Color"/>;
                    padding-bottom:1.5em;
                    </xsl:attribute>
                    <td>
                        <xsl:attribute name="style">
                        background:yellow;
                        backgound-color:yellow;
                        color:<xsl:value-of select="/Mail_Newsletter/Color"/>;
                        </xsl:attribute>
                        <table width="100%">
                            <xsl:attribute name="style">
                            table-layout: fixed
                            width=100%;
                            border: 1px solid;
                            font-size:'14px';
                            border-collapse: collapse;
                            border-spacing: 0;
                            border-color: <xsl:value-of select="/Mail_Newsletter/Color"/>;
                            background:<xsl:value-of select="/Mail_Newsletter/LighterColor"/>;
                            backgound-color:<xsl:value-of select="/Mail_Newsletter/LighterColor"/>;
                            color:<xsl:value-of select="/Mail_Newsletter/Color"/>;

                            </xsl:attribute>
                            <tr>
                                <td>
                                    ...
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </tr>
        </xsl:for-each>
    </xsl:if>   
</table>

The result

1 个答案:

答案 0 :(得分:1)

只有td(或th)可以是tr元素的子元素。将div替换为td,并将内部table设置为100%宽度。

            </tr> <!-- close old table row before opening a new one -->
            <tr colspan="2">
                <xsl:attribute name="style">
                    background:black;
                    backgound-color:black;
                    color:<xsl:value-of select="/Mail_Newsletter/Color"/>;
                    padding-bottom:1.5em;
                </xsl:attribute>
                <td> <!-- replaces div -->
                    <xsl:attribute name="style">
                        background:yellow;
                        backgound-color:yellow;
                        color:<xsl:value-of select="/Mail_Newsletter/Color"/>;
                    </xsl:attribute>
                    <table width="100%">