У меня есть массив, в котором я заполняю таблицу генеалогии. Это так:
——— 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, но горизонтально, как моя таблица.
Ive попытался добавить это к 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» использует вложенные списки. Любая помощь будет принята с благодарностью. Спасибо.
Theres a awesome пример Peiwen Lu над codepen что вы должны проверить.
не уверен, что я правильно понял, но вы можете вращать внутренние элементы с дерева, чтобы получить желаемую ориентацию.
Поэтому, если вы это сделаете:
.tree{ -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); transform: rotate(-90deg); -ms-transform: rotate(-90deg); }
вы можете добавить:
.tree a { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); transform: rotate(90deg); -ms-transform: rotate(90deg); }
Чтобы зафиксировать ориентацию внутренних якорей.