Как лучше всего скрыть столбец таблицы для мобильного просмотра
у меня есть таблица HTML, в мобильном браузере мне нужно скрыть некоторые из ее столбцов.
Я хочу скрыть 2 или 3 из этих cols, используя @media
запросы, если это возможно.
приведенный ниже код не работает для меня:
<table>
<tr>
<td></td>
<td class='collapsable'></td>
<td class='collapsable'></td>
<td></td>
</tr>
</table>
//hide cols here
td.collapsable {display:block; }
@media only screen and (min-width: 450px) {
//show cols here
td.collapsable {display:none; }
}
4 ответов
что-то вроде этого? (попробуйте изменить размер окна/панели результатов)
HTML:
<tr>
<td class="one">corpse</td>
<td>corpse</td>
<td>corpse</td>
</tr>
CSS-код:
table{
width: 50%;
}
td, th{
border: 1px solid orange;
}
@media only screen and (max-width: 900px) {
.one{
display: none;
}
}
держите HTML и разметку таблицы чистой, используя nth-child, чтобы скрыть столбец. Должны работать с любым современным браузером, который поддерживает медиа запросы.
вот образец скрипки, показывающий его в действии. Измените размер панели результатов, чтобы она работала.
https://jsfiddle.net/tycahill/xm0nwr7x
на очистить HTML-код:
<table>
<tr>
<td>Column 1a</td>
<td>Column 2a</td>
<td>Column 3a</td>
</tr>
<tr>
<td>Column 1b</td>
<td>Column 2b</td>
<td>Column 3b</td>
</tr>
</table>
CSS, чтобы скрыть второй столбец:
@media only screen and (max-width: 800px) {
td:nth-child(2) {
display:none;
}
}
план B: поместите DIV в каждую ячейку. Класс DIVs по столбцам. Спрячь Дивов. Возможно, вам придется настроить cellpadding/cellspacing вашей таблицы и поместить его на .cell
DIV для поддержания предыдущего внешнего вида.
<table>
<tr>
<td><div class='cell'></div></td>
<td><div class='cell collapsable'></div></td>
<td><div class='cell collapsable'></div></td>
<td><div class='cell'></div></td>
</tr>
</table>
Я думаю, что ваш пример имеет display:block
и display:none
переключить. Кроме того, я бы рекомендовал использовать display: table-cell;
вместо display: block;
, так как table-cell является дисплеем по умолчанию для <td>
элементы. Этот CSS работал для меня, а также является мобильным первым подходом:
td.collapsable {display:none; }
@media only screen and (min-width: 450px) {
td.collapsable {display:table-cell; }
}