表格单元格有一个非常奇怪的问题。
我以前的帖子 How to append element to another element using php
我的代码如下
$dom = new DomDocument();
$dom->loadHTML($html]);
$tbodies = $dom->getElementsByTagName('tbody');
foreach ($tbodies as $tbody) {
$table = $dom->createElement('table');
$table->setAttribute('width',500);
$table->setAttribute('style','border:2px solid #8C8C8C;text-align:center;table-layout:fixed; border-collapse:separate;');
$tbody->parentNode->replaceChild($table, $tbody);
$table->appendChild($tbody);
}
$returnText .=$dom->saveHTML();
从我以前的姿势,我得到了我的答案,但似乎新的html表在表格单元格中没有边框。
所以我的表就像
___________
|cell cell |
|cell cell |
|___________|
但我希望每个细胞都有边界。 我确信我的原始html表格单元格也没有内联样式来处理单元格边框。
有人可以帮忙吗?
谢谢!
答案 0 :(得分:1)
单元格上没有边框,因为在css中,table
标记的格式与单元格td
或th
标记分开设置。见这里:http://www.quackit.com/html/codes/tables/html_table_border.cfm
编辑:更好的链接。
答案 1 :(得分:0)
我从未使用过domdocument,但我看到了这一行:
$table->setAttribute('style','border:2px solid #8C8C8C;text-align:center;table-layout:fixed; border-collapse:separate;');
尝试为表格添加一个时尚表格和单元格的类,而不是添加会使您的表格变得时尚而不是td单元格的样式属性:
$table->setAttribute('class','test');
并添加一个css文件或包含您班级的样式:
<style type='text/css'>
.test{
border:2px solid #8C8C8C;
text-align:center;
table-layout:fixed;
border-collapse:separate;
}
.test th,.test td{border:2px solid #8C8C8C;}
</style>