Исправьте меня, если я неправ, но я читаю вопрос снова и снова и все еще думаю, что Angus McCoteup спрашивал, как установить элемент, чтобы быть положением: фиксированный.
Angus McCoteup, проверьте http://www.cssplay.co.uk/layouts/fixed.html - если Вы хотите, чтобы Ваш DIV вел себя как меню там, взглянул на CSS там
Как это?
thead {
float: left;
}
thead th {
display: block;
}
tbody {
float: right;
}
jsFiddle .
Ну, 1, 2 также должны быть в виде столбца, очевидно.
jsFiddle .
Это также похоже на то, что IE недоволен этим. Возможно, вам придется обменять семантику на совместимость с различными браузерами.
Просто используйте <th>
в качестве первого элемента в строке. Затем добавьте атрибут scope
, который не оказывает визуального воздействия, но вы можете использовать его, например, в CSS.
<table>
<tbody>
<tr>
<th scope="row">A</th>
<td>b</td>
</tr>
<tr>
<th scope="row">C</th>
<td>d</td>
</tr>
</tbody>
</table>
См. Также http://www.w3.org/TR/WCAG20-TECHS/H63
.Это отлично сработало для меня: (вдохновлено первым ответом)
Пример здесь
html:
<table>
<thead>
<tr>
<th>A</th>
<th>B</th>
</tr>
</thead>
<tbody>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
</tbody>
</table>
css:
table, td, th {
border: 1px solid red;
}
thead {
float: left;
}
thead th {
display: block;
background: yellow;
}
tbody {
float: left;
}
tbody tr {
display: block;
float: left;
}
tbody td {
display: block;
}
Вы можете увидеть результат здесь . Вы имеете в виду, как это?
<table border="1">
<thead>
<tr>
<th></th>
<th colspan="2">Letters</th>
</tr>
<tr>
<th></th>
<th>a</th>
<th>b</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3">Numbers</td>
<td>1</td>
<td>4</td>
</tr>
<tr>
<td>2</td>
<td>5</td>
</tr>
<tr>
<td>3</td>
<td>6</td>
</tr>
</tbody>
</table>
Вы обычно используете rowspan
и colspan
для ячеек, охватывающих несколько столбцов / строк.
Мне нужно было что-то немного другое, но ответы @alex и @marion заставили меня начать в правильном направлении. Проблема заключалась в том, что когда вам нужно было много элементов в таблице, «колонки» стали смешно складываться на маленьких экранах.
Спасибо Сержу за его ответ здесь , который привел меня к этому решению. Это решение позволяет осуществлять горизонтальную прокрутку и не смешно, независимо от размера экрана / окна. Я тестировал его в Chrome, Firefox, Opera, Edge и IE11. Вот скрипка с правильным выравниванием для новых «строк» и «столбцов»: https://jsfiddle.net/berrym/6r3zvaef/21/
И на всякий случай он исчезает от JSFiddle:
<style>
table{
display:block;
white-space:nowrap;
width:100%;
}
td, th {
border-bottom: 1px solid red;
border-collapse: collapse;
}
thead {
float: left;
background: yellow;
width: 10%;
}
thead tr {
width:100%;
float:left;
}
thead th {
display: block;
}
tbody {
float: left;
width: 90%;
}
tbody tr {
display: inline-block;
}
tbody td {
float:left;
width:100%;
}
</style>
<table>
<thead>
<tr>
<th>A</th>
<th>B</th>
</tr>
</thead>
<tbody>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
<tr>
<td>a1</td>
<td>b1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
</tbody>
</table>
Если вы используете загрузчик, вы можете легко добиться этого с помощью стиля table-reflow
: http://v4-alpha.getbootstrap.com/content/tables/#reflow