mpdfとは
mpdfとは、PDFファイルを作成するPHPのライブラリです。
htmlをpdf形式のファイルにして出力します。このhtmlに対して指定するcssが、mpdfライブラリを通すと全然使えなくて大変だったので、それぞれの解決策の備忘録です。
break-insideで改ページできない
改ページ位置を指定するbreak-inside
が使えないときがあります。
/* 使いたかったやつ */
div {break-inside: avoid;}
途中でページをまたぎたくない要素があったのでどうにかして指定したい。
→divに対してheightの指定をしたら、その高さが入りきらない場合に勝手に改ページしてくれるようになりました!
/* 解決! */
div {height: 300px;}
floatが使えない
配置を決める系のCSSがことごとく簡単に使えません!!!
htmlをブラウザで見るとcssが効いているのにmpdfを通したファイルでは効いていない現象。
float
を使うときは、必ずwidth
を一緒に指定する必要があるみたいです。
#contents {
width: 720px;
float: left;
}
他にもposition
、display
などもwidthを指定したり、記載順を変えてみたり、試行錯誤が必要。頑張りましょう(がんばるしかない)
font-sizeが効かない
width
をpxで指定すると、なぜか入れ子要素のfont-size指定が無効になる。地味に苦戦。。
width
を%で指定する方法で解決しました!
感想
次回やるときもきっと苦戦しそうだしきっと忘れている気がする!