Там есть атрибут CSS называется writing-mode
, который принимает одно из этих трех значений; horizontal-tb
, vertical-rl
и vertical-lr
.
horizontal-tb
по умолчанию и вызывает типичный горизонтальный поток текста в элементе.
Значения vertical-*
, однако, предназначены для вертикального потока блоков, в результате чего тексты будут отображаться сверху вниз браузерами. В vertical-rl
новые строки добавляются слева от предыдущих и наоборот для vertical-lr
.
Это полезно для отображения таких языков, как китайский и японский, которые обычно пишутся сверху вниз, а также для отображения вертикального текста, чтобы сохранить горизонтальное пространство, например, в заголовках таблицы.
div {
font-family: courier new;
}
table {
table-layout: fixed;
border-collapse: collapse;
}
table tr:not(:first-child) th {
display: inline-block;
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
}
th {
padding: 6px;
}
#writing-mode img {
width: 35px;
}
td {
width: 40px;
border: 1px dotted black;
}
tr:nth-child(2) th {
background: #69D2E7;
}
tr:nth-child(2) td {
background: #A7DBD8;
}
tr:nth-child(3) td {
background: #F1D4AF;
}
tr:nth-child(3) th {
background: #E08E79;
}
tr:nth-child(4) td {
background: #CFF09E;
}
tr:nth-child(4) th {
background: #79BD9A;
}
tr:nth-child(5) td {
background: #D5DED9;
}
tr:nth-child(5) th {
background: #99B2B7;
}
tr:nth-child(6) td {
background: #EBE3AA;
}
tr:nth-child(6) th {
background: #CAD7B2;
}
#browser-support {
background: ivory;
border-left: 6px skyblue solid;
font-family: courier new;
font-size: 14px;
margin: 12px 0;
padding: 6px;
}
<div id="writing-mode">
<h3>Time Table</h3>
<table>
<tr>
<th style="width:20px"> </th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
</tr>
<tr>
<th>Monday</th>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-chalkboard-64.png" alt=""></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-flask-128.png" alt=""></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
</tr>
<tr>
<th>Tuesday</th>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-flask-128.png" alt=""></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-microscope-128.png" alt=""></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-globe-128.png" alt="" /></td>
</tr>
<tr>
<th>Wednesday</th>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-microscope-128.png" alt="" /></td>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-microscope-128.png" alt="" /></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
</tr>
<tr>
<th>Thursday</th>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-chalkboard-64.png" alt=""></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
</tr>
<tr>
<th>Friday</th>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-globe-128.png" alt="" /></td>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-microscope-128.png" alt="" /></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;></td>
<td contenteditable="true" ;><img src="https://cdn2.iconfinder.com/data/icons/hand-drawn-academic-icons-2/300/handdrawn-flask-128.png" alt=""></td>
</tr>
</table>
</div>
от: http://www.hongkiat.com/blog/css-tricks-more/
Вы можете использовать статическую высоту на вашем '.rotate' или вы можете использовать JavaScript: Получить ширину текст и применить значение для высоты. – Patrick2607