HTML адаптируемая таблица (ширина, высота) - PullRequest
0 голосов
/ 17 мая 2018

Я знаю, что есть CSS-решение для настройки ширины таблицы. Например:

table {width: 100%; height:300px}

будет адаптировать ширину стола, занимая 100% экрана, но, если я вставлю высоту: 100%, это не сработает. Я хочу создать таблицу (или несколько таблиц), которая соответствует размерам экрана (для смартфона, ПК, ECC ..). Есть ли решение?

Ответы [ 4 ]

0 голосов
/ 17 мая 2018

просто используйте width: 100%; и height: 100vh;

<table>
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</table>

CSS:

html, body {
  margin: 0px;
  padding: 0px;
}
table {
    font-family: arial, sans-serif;
    border-collapse: collapse;
    width: 100%;
    height: 100vh;

}

td, th {
    border: 1px solid #dddddd;
    text-align: left;
    padding: 8px;
}

tr:nth-child(even) {
    background-color: #dddddd;
}

см. Пример: https://codepen.io/miladfm/pen/MGPdOL

0 голосов
/ 17 мая 2018

нет необходимости использовать таблицу, вы можете написать HTML, ведущий себя как таблица:

<section style="display: table;">
 <header style="display: table-row;">
<div style="display: table-cell;"></div>
<div style="display: table-cell;"></div>
<div style="display: table-cell;"></div>
</header>
   <div style="display: table-row;">
   <div style="display: table-cell;"></div>
   <div style="display: table-cell;"></div>
   <div style="display: table-cell;"></div>
   </div>
</section>

и использовать CSS для его стилизации:

display: table                /* <table>     */
display: table-cell           /* <td>        */
display: table-row            /* <tr>        */
display: table-column         /* <col>       */
display: table-column-group   /* <colgroup>  */
display: table-footer-group   /* <tfoot>     */
display: table-header-group   /* <thead>     */

Вы можете иногда слышать:таблицы не являются семантическими.Это неправда - они семантически указывают на табличные данные.Таблицы являются правильным выбором, когда это так.см ссылка

0 голосов
/ 17 мая 2018

см. Код ниже: (вы также можете добавить margin: 0 к body для предотвращения margin)

body{
height:100%;
}
table {
    font-family: arial, sans-serif;
    border-collapse: collapse;
    width: 100%;
    height:100vh;
}

td, th {
    border: 1px solid #dddddd;
    text-align: left;
    padding: 8px;
}

tr:nth-child(even) {
    background-color: #dddddd;
}
<body>

<h2>HTML Table</h2>

<table>
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</table>

</body>
0 голосов
/ 17 мая 2018

Используйте height: 100vh может это сработает для вас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...