TCPDF に嵌ってしまった

今日の投稿は短いです。

PHP を使って HTML から PDF を作成するツール TCPDF を使っているときに嵌ってしまった。以下のような HTML を書くと、class 指定しているにもかかわらず、それが反映されません。

<table class='tbl'>
  <tr>
    <th class='name'>Name</th>
    <th class='title'>Title</th>
  </tr>
</table>

<style>
.tbl {
  width: 100%;
}
.tbl .name {
  width: 20%;
}
.tbl .title {
  width: 80%;
}
</style>

4時間くらい原因が分からず右往左往していたのですが、お手本とにらめっこを繰り返してようやく原因が判明。反映されない原因は class 指定時にシングルクォート(‘)を使っていたためでした。ダブルクォート(“)にすると問題なく反映されます。

<table class="tbl">
  <tr>
    <th class="name">Name</th>
    <th class="title">Title</th>
  </tr>
</table>

<style>
.tbl {
  width: 100%;
}
.tbl .name {
  width: 20%;
}
.tbl .title {
  width: 80%;
}
</style>

HTML 上ではどちらも許されるはずなんですが…。