Я пытаюсь установить ширину ячеек, которые содержат повернутый текст. Помимо первых трех столбцов остальная часть должна быть немного выше высоты шрифта вертикального текста. Остальное пространство можно разделить поровну между первыми тремя столбцами.
Я пробовал устанавливать ширину ячейки в CSS, но это не имеет никакого значения...
Вот пример: http://jsfiddle.net/pelagic/3Ggw6/1/
HTML
<div id="galley">
<table>
<thead><tr>
<th colspan="3" class="vertical-label"> </th>
<th colspan="11"><div>Regions</div></th>
<th width="5%" class="vertical-label"> </th>
</tr>
<tr>
<th width="5%" class="vertical-label"><div class="vheader">
<div align="left">One</div>
</div></th>
<th width="5%" class="vertical-label"><div class="vheader">
<div align="left">One</div>
</div></th>
<th width="5%" class="vertical-label"><div class="vheader">
<div align="left">One</div>
</div></th>
<th width="10" class="vertical-label"><div class="vheader">
<div align="left">Antarctic</div>
</div></th>
<th width="5%" class="vertical-label"><div class="vheader">
<div align="left">Arctic</div>
</div></th>
<th width="5%" class="vertical-label"><div class="vheader">
<div align="left">Baltic Sea</div>
</div></th>
<th width="5%" class="vertical-label"><div class="vheader">
<div align="left">Black Sea</div>
</div></th>
<th width="5%" class="vertical-label"><div class="vheader">
<div align="left">Cas•pian Sea</div>
</div></th>
<th width="5%" class="vertical-label"><div class="vheader">
<div align="left">Indo Pacific</div>
</div></th>
<th width="30" class="vertical-label"><div class="vheader">
<div align="left">Mediterranean Sea</div>
</div></th>
<th width="5%" height="150" class="vertical-label"><div class="vheader">
<div align="left">North Atlantic</div>
</div></th>
<th width="5%" height="150" class="vertical-label"><div class="vheader">
<div align="left">North Pacific</div>
</div></th>
<th width="5%" height="150" class="vertical-label"><div class="vheader">
<div align="left">South Atlantic</div>
</div></th>
<th width="auto" height="150" class="vertical-label"><div class="vheader">
<div align="left">South Pacific</div>
</div></th>
<th width="5%" class="vertical-label"><div class="vheader">
<div align="left">References</div>
</div></th>
</tr>
</thead>
<tfoot></tfoot>
<tbody><tr><td>Otariidae</td>
<td>Arctocephalus pusillus</td>
<td>Cape or Australian fur seal</td>
<td> </td>
<td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
<tr class="alt"><td> </td><td>Arctophoca gazella</td>
<td>Antarctic fur seal</td>
<td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
<tr><td> </td><td>A. tropicalis</td>
<td>Subantarctic fur seal</td>
<td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
</tbody>
</table>
</div>
CSS
#galley {
width: 738px;
height: auto;
border: 1px #CCCCCC;
float:none
}
#galley table, th, td {
border: 1px solid black;
border-collapse:collapse;
}
#galley table {
table-layout: fixed;
width: 738px;
}
#galley th.vertical-label{
-webkit-transform: rotate(270deg) translateX(100%) translateY(33%);
-moz-transform: rotate(270deg) translateX(100%) translateY(33%);
-o-transform: rotate(270deg) translateX(100%) translateY(33%);
-webkit-transform-origin: 100% 100%;
-moz-transform-origin: 100% 100%;
-o-transform-origin: 100% 100%;
writing-mode: lr-tb;
}
#galley th, th.vertical-label{
font-family: "myriad Pro";
font-decoration: bold;
}
#galley .vheader{
margin-left: 5px;
}
чтобы ваши клетки могли расти из их содержимого, кроме тех, которые были повернуты, вам нужно убедиться, что повернутый текст не расширяет ваши ячейки.
Они могут быть установлены в абсолютном или фактически уменьшенном с отрицательным отрывом.
При отрицательном отрезке им не нужно места. Но вам нужна клетка для роста вертикально, для этого используйте псевдоэлемент с вертикальным заполнением в%.
ДЕМО, чтобы играть с
Метод :
Это нарисует квадрат, который не будет нуждаться в горизонтальном пространстве, пока он не достигнет ширины ширины 999 пикселей X 2, высота будет расти в соответствии с его шириной:
td div.text-rotated {
margin-:0 -999px;
}
td div.text-rotated:before {
padding-top:100%;
content:'';
display:inline-block;
}
другие возможности с наивным меню