2013-02-22 4 views
0

Я делаю доказательство концепции с отзывчивым дизайном. Одна веб-страница, которую я модифицирую, имеет некоторые чрезвычайно широкие таблицы. Я действительно не знаю, как уменьшить ширину таблиц, поэтому в мобильном браузере нет горизонтальной полосы прокрутки.Отзывчивый дизайн - широкие таблицы

Мне просто интересно, есть ли у кого-нибудь решение для чрезвычайно широких таблиц, используя отзывчивый дизайн. О, и я хотел добавить, что я не могу скрыть столбцы в таблице.

Заранее спасибо

+0

Это выглядит как вопрос для [ux.se]. Повернитесь сюда, чтобы помочь вам преодолеть технические проблемы, но SO Q/A не является местом, где можно запросить советы по дизайну. –

+0

Возможно, будет работать перенос таблицы или резка по вертикали? –

+0

В зависимости от содержимого таблицы вы могли бы просто иметь ее так, чтобы ее можно было перетаскивать горизонтально, не прокручивая всю страницу влево или вправо. – zzzzBov

ответ

9

Самое ценное способ сделать это, чтобы полностью переформатировать таблицу:

http://jsfiddle.net/MLZEb/9/

tbody, tr, th, td { display: block } 
thead { display: none } 
td:before { 
    content: attr(data-label); 
    display: inline-block; 
    width: 6em; 
    padding-right: 1em; 
    vertical-align: middle; 
} 

td:first-child { 
    background: #CCC; 
} 

Каждый td нужно будет иметь атрибут data-label для этого, чтобы работать эффективно : <td data-label="Favorite Color">Blue</td>. Типичные th элементы в заголовках столбцов должны находиться в теге thead.

+0

+1 - приятное использование 'attr()' –

+0

+1 Мне нужно научиться использовать 'attr()', отличный CSS вообще –

+0

Лучший ответ спасибо! – Victor

0

Типичным способом решения проблемы с широким столом является представление только основных столбцов в начале и предоставление пользовательского интерфейса для добавления дополнительных столбцов в интерактивном режиме.

2

My knee-jerk reaction would be to put the table in a scrollable container. Добавление немного вспомогательного JavaScript для включения перемещения содержимого с помощью перетаскивания мышью было бы полезно для пользователей настольных компьютеров. Мобильные пользователи смогут воспользоваться преимуществами собственного тачпада.

HTML:
<div class="container"> 
    <table> 
     ... 
    </table> 
</div> 
CSS:
td { 
    padding: 10px; 
} 

.container { 
    width: 100%; 
    overflow: auto; 
} 
+0

+1 - IMO это лучшее решение во многих случаях, особенно на сенсорных устройствах. Прокрутка влево легко/интуитивно понятна для пользователей. –

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