我有一個數組,我使用它填充族譜。這是爲了這樣的:使用css創建水平樹
--------- 3
---- 1
-------- 4
-------- 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」樹使用嵌套列表。任何幫助將不勝感激。謝謝。
有沒有你認爲你應該「使用CSS」,而不是表中的特別的原因?從語義上講,沒有其他標籤可以表達祖先/後代與表格之間的關係。請注意,您正在查看的項目僅支持一位家長。 – cimmanon
僅僅因爲我希望它看起來更好。 HTML表格似乎成爲美學上令人愉悅的負擔。 – coyne1981
通過CSS增強元素的外觀不限於非表格元素。如果你對背景圖像有創意,你可以做很多事情:http://cssdeck.com/labs/niw9pvpw – cimmanon