使用html-docx.js时,border设置为0还是有边框,每一行设置宽度没有效果,而且展示页面会被挤压,margin也没有用pt,px都没效果?

使用html-docx.js时,border设置为0还是有边框,每一行设置宽度没有效果,而且展示页面会被挤压,margin也没有用pt,px都没效果

image.png

     <div data-v-1a1eb75f style="margin: 20px 0;" id="eleTable">
                <div data-v-1a1eb75f
                    class="el-table el-table--fit el-table--striped el-table--border el-table--group el-table--enable-row-hover el-table--enable-row-transition el-table--medium"
                    header-align="center" style="width: 100%;">
                    <div class="el-table__header-wrapper">
                        <table cellspacing="0" cellpadding="0" border="0" class="el-table__header" style="width: 800px;">
                            <colgroup>
                                <col name="el-table_17_column_229" colspan="2" />
                                <col name="el-table_17_column_230" />
                                <col name="el-table_17_column_231"  />
                                <col name="el-table_17_column_232_column_233"  />
                                <col name="el-table_17_column_231"  />
                                <col name="el-table_17_column_232_column_233"  />
                            </colgroup>
                            <thead class="is-group has-gutter">
                                <tr class>
                                    <th colspan="2" class="el-table_17_column_229 is-center is-leaf el-table__cell"
                                        style="background: #C6D9F1; color: rgb(0, 0, 0); font-size: 12px; height: 40px; padding: 0px;">
                                        <div class="cell">项目名称</div>
                                    </th>
                                    <th colspan="1" class="el-table_17_column_230 is-center is-leaf el-table__cell"
                                        style="background: #C6D9F1; color: rgb(0, 0, 0); font-size: 12px; height: 40px; padding: 0px;">
                                        <div class="cell">零件号</div>
                                    </th>
                                    <th colspan="1" class="el-table_17_column_231 is-center is-leaf el-table__cell"
                                        style="background: #C6D9F1; color: rgb(0, 0, 0); font-size: 12px; height: 40px; padding: 0px;">
                                        <div class="cell">零件名称</div>
                                    </th>
                                    <th class="el-table_17_column_232 is-center el-table__cell"
                                        style="background: #C6D9F1; color: rgb(0, 0, 0); font-size: 12px; height: 40px; padding: 0px;">
                                        <div class="cell">订单数量/套</div>
                                    </th>
                                    <th colspan="1" class="el-table_17_column_231 is-center is-leaf el-table__cell"
                                        style="background: #C6D9F1; color: rgb(0, 0, 0); font-size: 12px; height: 40px; padding: 0px;">
                                        <div class="cell">单价/元(含税)</div>
                                    </th>
                                    <th class="el-table_17_column_232 is-center el-table__cell"
                                        style="background: #C6D9F1; color: rgb(0, 0, 0); font-size: 12px; height: 40px; padding: 0px;">
                                        <div class="cell">总价/元(含税)</div>
                                    </th>
                                </tr>
                            </thead>
                        </table>
                    </div>
                    <div class="el-table__body-wrapper is-scrolling-none">
                        <table cellspacing="0" cellpadding="0" border="0" class="el-table__body" style="width: 800px;">
                            <tbody v-for="item in form.bomPurchaseOrderDetailList">
                                <tr class="el-table__row" style="height: 60px;font-size: 14px;">
                                    <td colspan="2" style="padding: 0px;word-break:break-all ">
                                        <div class="cell"  >{{ item.projectName }}</div>
                                    </td>
                                    <td colspan="1" style="padding: 0px;">
                                        <div class="cell">{{ item.partsName }}</div>
                                    </td>
                                    <td colspan="1" style="padding: 0px;">
                                        <div class="cell">{{ item.partsNo }}</div>
                                    </td>
                                    <td colspan="1" style="padding: 0px;">
                                        <div class="cell">{{ item.quantity }}</div>
                                    </td>
                                    <td colspan="1" style="padding: 0px;">
                                        <div class="cell">{{ item.unitPrice }}</div>
                                    </td>
                                    <td colspan="1" style="padding: 0px;">
                                        <div class="cell">{{ item.totalPriceOriginal }}</div>
                                    </td>
                                </tr>
                            </tbody>
                            <tbody>
                                <tr class="el-table__row" style="height: 60px;font-size: 14px;">
                                    <td colspan="6" class="el-table_17_column_229 is-center el-table__cell"
                                        style="padding: 0px; ">
                                        <div class="cell">总计</div>
                                    </td>
                                    <td colspan="1" class="el-table_17_column_230 is-center el-table__cell"
                                        style="padding: 0px;">
                                        <div class="cell">33222</div>
                                    </td>
                                
                                </tr>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
阅读 813
avatarAI BotBETA

回答

在使用 html-docx.js 时,HTML 的样式(如 border, width, margin 等)可能不会像在浏览器中那样完全生效,因为 html-docx.js 是将 HTML 转换为 Word 文档格式(.docx),而 Word 文档有自己的样式和布局规则。

  1. border 设置为 0 还是有边框

    • 在 Word 文档中,即使 border 设置为 0,也可能由于 Word 的默认样式或表格的边框属性导致显示边框。可以尝试使用 CSS 样式 border: none;border: 0 none; 来明确指定无边框。
  2. 每一行设置宽度没有效果

    • Word 文档的表格宽度和单元格宽度可能受到多种因素影响,如表格的总宽度、单元格内容、Word 的页面布局设置等。可以尝试在表格的 <table> 标签上设置 width 属性,并在 <col> 标签上使用 style="width: xxxpx;" 来指定列的宽度。
  3. 展示页面会被挤压,margin 没有用

    • 在 Word 文档中,margin 样式可能不会像在浏览器中那样生效,因为 Word 有自己的页面边距设置。可以在 Word 文档的页面设置中调整边距,而不是依赖 CSS 的 margin 属性。
    • 对于页面被挤压的问题,可以检查表格的宽度是否超出了页面的宽度,或者是否有其他元素(如图片、文本框等)占据了过多的空间。
  4. pt, px 没有效果

    • html-docx.js 中,CSS 的一些单位(如 pt, px)可能不会完全按照预期生效,因为 Word 文档使用自己的度量单位(如磅、英寸等)。可以尝试使用百分比(%)或 Word 文档支持的单位来设置样式。

综上所述,解决这些问题可能需要调整 HTML 和 CSS 代码,以适应 html-docx.js 和 Word 文档的特定要求。如果问题仍然存在,建议查阅 html-docx.js 的文档或寻求更具体的帮助。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题