家系図テーブルに入力する配列があります。順番はこんな感じです。
---------3
----1
--------4
0
--------5
----2
--------6
など... 例はhttp://bullybloodlines.net/dogdetails.php?name=muscletone%27s+lucky+bam+bam+of+power+line+bullysです
これに対する私のコードは次のとおりです。
<?php
$generations = 4;
$genTableArray = array();
for($genCol = 0; $genCol <= $generations; $genCol++)
{
$genRowCount = pow(2, $genCol);
$rowspan = pow(2, $generations) / $genRowCount;
for($familyGenCount=0; $familyGenCount<$genRowCount; $familyGenCount++)
{
$personIndex = pow(2, $genCol) + $familyGenCount - 1;
$rowIndex = $rowspan * $familyGenCount;
$encodedog = urlencode($dogarr[$personIndex]);
$genTableArray[$rowIndex][] = "<td rowspan='{$rowspan}'><a href='http://bullybloodlines.net/dogdetails.php?name={$encodedog}'><img src='images/dogpics/{$dogpic[$personIndex]}' width=100/><br><br>{$dogarr[$personIndex]}</a></td>\n";
}
}
ksort($genTableArray);
$familyTreeHTML = '';
foreach($genTableArray as $rowData)
{
$familyTreeHTML .= "<tr>\n" . implode("\n", $rowData) . "</tr>\n";
}
?>
<table border='1' align='center' cellpadding='4' style='border-collapse:collapse;'>
<?php echo $familyTreeHTML; ?>
</table>
これはうまくいきます。ただし、私の目標は、レイアウトを変更し、CSS を使用してhttp://thecodeplayer.com/walkthrough/css3-family-treeのようなものを作成することですが、テーブルのように水平です。
これをcssに追加して回転させてみました:
.tree{
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
transform: rotate(-90deg);
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); /* IE6, IE7 */
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)" /* IE8 */
-ms-transform: rotate(-90deg);
}
回転しますが、テキストも横向きに表示されます。それが私の最初の問題です。また、配列を使用してこれを配置する方法に問題があります。「css3-family」ツリーはネストされたリストを使用します。どんな助けでも大歓迎です。ありがとうございました。