Я создаю своего рода настольную игру в javascript. Изображения для доски помещаются внутри таблицы. Я использовал это с помощью тегов html <table>. Однако я убедился, что из-за того, что эта таблица действительно не содержит данных, я должен действительно использовать элементы <div>, чтобы визуализировать ее.
<div id='board'>
  <!-- the table starts here -->
  <div class='mytable'>
    <!-- table has multiple rows -->
    <div class='myrow'>
      <!-- a row has multiple cells -->
      <div class='mycell'/>
      ...
    </div>
    ...
  </div>
</div>
Чтобы отформатировать их так же, как выглядела бы таблица, я использую следующий CSS.
.mytable{
  display:table;         
  width:auto;      
  border:0px;      
  border-spacing:0px;
  padding: 0px;
  border-collapse: collapse;
  table-layout:fixed;
}
.myrow{
  display:table-row;
  width:auto;
  height: auto;
  clear:both;
}
.mycell{
  float:left;/*fix for buggy browsers*/
  text-align: center;
  display:table-cell;         
  width:31px;
  height:31px;
  background: url(background.png) no-repeat;
}
Все работает отлично с первого взгляда. Однако, когда таблица слишком большая, чтобы соответствовать на экране, , тогда все ячейки начинают перенос на следующую строку. Это происходит, например, когда я делаю окно браузера меньше.
Я бы хотел, чтобы ячейки оставались там, где они есть, и перемещаются за пределы веб-браузера. Или, альтернативно, поместите их в контейнер с фиксированным размером, который показывает полосы прокрутки, когда таблица слишком большая.
Я попытался указать постоянную ширину (например, width: 200px) для окружающего node (т.е. div#board). Но это работает только в том случае, если ширина больше таблицы (т.е. div.mytable). (К сожалению, это не так, таблица может иметь разные размеры.)
Что я пробовал:
-  overflow: scrollне работает.
-  white-space: nowrapне работает.
-  также использует table-layout: fixed, но без видимой разницы.
-  попробовал display: table-columnвместоdisplay: table-cell
Что мне не хватает?
