2016-12-22 4 views
2

Рассмотрим следующий пример HTMLПереместить раздел THEAD в первом столбце

<table> 
<thead> 
    <tr> 
     <th>Header 1</th> 
     <th>Header 2</th> 
     <th>Header 3</th> 
    </tr> 
</thead> 
<tbody> 
    <tr> 
     <td>data 1.1</td> 
     <td>data 1.2</td> 
     <td>data 1.3</td> 
    </tr> 
    <tr> 
     <td>data 2.1</td> 
     <td>data 2.2</td> 
     <td>data 2.3</td> 
    </tr> 
</tbody> 

Он оказывает как следующее изображение:

enter image description here

это возможно только с помощью CSS, чтобы иметь предыдущий html визуализируется как следующее изображение? (Обратите внимание на индексы)

enter image description here

+1

Если я не ошибаюсь, эта операция (на любой матрицы) является genereally называется [ 'transpose'] (https://en.wikipedia.org/wiki/Transpose). Вы можете найти другие решения, используя это имя. – birdspider

ответ

2

Если вы должны сделать это с помощью CSS, и вы не можете изменить ваш HTML вы можете сделать это с Flexbox.

table { 
 
    display: flex; 
 
} 
 
thead tr, tbody tr { 
 
    display: inline-flex; 
 
    flex-direction: column; 
 
}
<table> 
 
    <thead> 
 
    <tr> 
 
     <th>Header 1</th> 
 
     <th>Header 2</th> 
 
     <th>Header 3</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <td>data 1.1</td> 
 
     <td>data 1.2</td> 
 
     <td>data 1.3</td> 
 
    </tr> 
 
    <tr> 
 
     <td>data 2.1</td> 
 
     <td>data 2.2</td> 
 
     <td>data 2.3</td> 
 
    </tr> 
 
    </tbody>

+0

Wow Это было быстро! Подождите пару часов, чтобы увидеть, есть ли там другие альтернативы :) –

+0

Принято, спасибо –

Смежные вопросы