Laravel使用DOMPDF时justify-content:space-between不生效 同行左右对齐失败
DOMPDF 对 CSS 的支持能力有限,你当前的问题核心是表格没有设置占满整行宽度,因此右对齐的单元格不会自动排布到页面右侧。同时 DOMPDF 对 Bootstrap 类、rem 单位的支持度较差,关键样式建议全部写内联更稳定。
修改后可生效的代码
<div class="container m-0" style="width: 100%; margin: 0;"> <div class="row" style="width: 100%; margin: 0;"> <div class="col-12 p-0" style="width: 100%; padding: 0;"> <!-- 给table设置100%宽度,占满整行 --> <table style="width: 100%; border: none; border-collapse: collapse;"> <tr> <td style="text-align: left; padding: 0;"> <p style="margin: 0; font-size: 12px;"> <!-- 加粗直接写内联样式,不依赖类 --> <span style="font-weight: bold;">Hari, tanggal:</span> Kamis, 14 Oktober 2021 </p> </td> <td style="text-align: right; padding: 0;"> <p style="margin: 0; font-size: 12px;">Pagi / Siang / Malam</p> </td> </tr> </table> </div> </div> </div>
额外优化建议
如果不需要用到Bootstrap的栅格能力,你可以直接删掉外层冗余的container、row、col容器,直接保留table即可,代码更简洁,DOMPDF解析也更稳定:
<table style="width: 100%; border: none; border-collapse: collapse; margin: 0; padding: 0;"> <tr> <td style="text-align: left; padding: 0;"> <p style="margin: 0; font-size: 12px;"> <span style="font-weight: bold;">Hari, tanggal:</span> Kamis, 14 Oktober 2021 </p> </td> <td style="text-align: right; padding: 0;"> <p style="margin: 0; font-size: 12px;">Pagi / Siang / Malam</p> </td> </tr> </table>
其他适配DOMPDF的注意点:
- 字体单位尽量用
pt或者px,避免用rem、em这类相对单位,DOMPDF解析相对单位容易出现尺寸异常 - 所有布局、样式优先写内联,不要依赖外部CSS类,DOMPDF对外部样式、类选择器的解析支持度很低
内容的提问来源于stack exchange,提问作者Khairunnisa Syahfitri
相关产品推荐
相关产品推荐

