laravel-dompdf |将divs显示为列,例如flex

问题描述 投票:0回答:1

我正在为PDF中的导出会议详细信息创建布局。布局时出现问题。我想将divs显示为一列。例如image display: flex不起作用,我正在尝试使用表,表单元格,表伸缩和表网格,但无法正常工作。主要内容向下移动边栏长度。

我的所有刀片html代码;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link href="https://fonts.googleapis.com/css?family=Roboto:300,500,700&display=swap" rel="stylesheet">
    <style media="screen">
        @font-face {font-family: "Roboto-Light"; font-style: normal; font-weight: 300; src: url({{ url('fonts/Roboto-Light.ttf') }})}
        @font-face {font-family: "Roboto-Regular"; font-style: normal; font-weight: normal; src: url({{ url('fonts/Roboto-Regular.ttf') }})}
        @font-face {font-family: "Roboto-Bold"; font-style: normal; font-weight: bold; src: url({{ url('fonts/Roboto-Bold.ttf') }})}

        body { font-family: 'Roboto-Regular'; }
        * { margin: 0; padding: 0; }

        .sidebar {
            position: relative;
            left: 0.9cm;
            width: 5cm;
        }

        .page-break-after {
            page-break-after: auto;
        }

        body {
            padding-top: 3cm;
            padding-bottom: 100px;
        }

        .wrapper {
            position:relative;
            width: 21cm;
            display: table;
        }
    </style>
</head>
<body style="background: url({{ url('pdf-export-background.png') }});background-size: 100% 100%;">

    <div class="wrapper">
        <div class="sidebar" style="">
            <p style="text-align:center;font-size:8px;">{{ $meeting['place'] }}</p>

            <!-- List Item -->
            <p style="margin-top: 15px;">
                <h4 style="margin-left:5%;font-family:'Roboto-Bold' !important;font-size:10px;">
                    <span style="border-bottom: 1px solid #000;">Düzenleyen</span>
                </h4>
                <p style="padding-left: 5%;">
                    <span style="font-size:9px;">{{ $meeting['created_user']['name'] }}</span>
                    <span style="font-size:7px;font-weight:300;line-height:9px;">{{ $meeting['job_title_name'] }}</span>
                </p>
            </p>
            <!--#List Item -->

        </div>

        <div style="position: relative;width: 5.7cm;">
            THE MAIN CONTENT
        </div>
    </div>
</body>
</html>

php laravel dompdf
1个回答
0
投票

Dompdf在撰写本文时不支持flexbox(当前版本为0.8.4)。有关更多信息,请参见issue 971

您可以使用各种样式生成该布局,但是如果您的内容超出一页的长度,您将在Dompdf渲染过程中遇到一些古怪之处。我建议将侧边栏浮动到左侧,并在主要内容上设置左侧边距。

类似这样的东西:

<div>
  <div style="float: left; width: 25%; height: 80%; background-color: #cc6633;"></div>
  <div style="margin-left: 35%; width: 65%; height: 80%; background-color: #3366cc;"></div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.