0

テーブルセルに非常に奇妙な問題があります。

私の以前の投稿 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 テーブル セルには、セルの境界線を指定するインライン スタイルもないと確信しています。

誰でも助けることができますか?

ありがとう!

4

2 に答える 2

1

CSS では、タグはセルまたはタグtableとは別にスタイル設定されるため、セルに境界線はありません。ここを参照してください: http://www.quackit.com/html/codes/tables/html_table_border.cfmtdth

編集:より良いリンク。

于 2013-08-27T23:28:13.510 に答える
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>
于 2013-08-27T23:30:43.637 に答える