Невозможно изменить высоту стола

У меня есть таблица, и я хочу изменить ее высоту, но когда я добавляю элемент высоты в css, ничего не меняется, я также пробовал решение для stackoverflow (Не могу установить высоту стола), но, похоже, ни одно из них не работает. Что я делаю неправильно?

HTML -

 <div class = "tableDiv">
       <table class = "table table-bordered table-condensed" id = "StoreData">
         <thead>
             <tr>
                <th>County / Admin district</th>
                <th>Postcode</th>
                <th>Longitude</th>
                <th>Latitude</th>
             </tr>
           </thead>
           {% for Postcode, LongLat in LocationData.items() %}
           <tr>
             <td>{{ LongLat[0] }}</td>
             <td>{{ Postcode }}</td>
             <td>{{ LongLat[1] }}</td>
             <td>{{ LongLat[2] }}</td>
           </tr>
          {% endfor %}
        </table>
      </div>

CSS-

   <style media = "screen">
      html, body, table {
      height: 100%;
      }
      .tableDiv {
      height: 50%;
      }
      table thead {
      position: sticky;
      position: -webkit-sticky;
      top: 0;
      z-index: 999;
      background-color: white;
      color: black;
      }
      #storeform {
      margin-left: 700px;
      margin-top: 50px;
      margin-bottom: 50px;
      }
      #StoreData {
      margin: 10px auto;
      padding: 10;
      width: 1250px;
      overflow-y: scroll;
      }
   </style>

Любая помощь будет оценена по достоинству.

Попробуйте добавить html,body{ height:100%}

adel 30.05.2019 00:56

@adel Спасибо за комментарий, похоже, это не сработало.

manlike 30.05.2019 00:58

Вы хотите изменить высоту или таблицу div?

adel 30.05.2019 00:59

@adel Высота таблицы, решение, которое я нашел и связал в вопросе, сказало мне обернуть таблицу в div и добавить к ней высоту.

manlike 30.05.2019 01:00

Но вам нужно добавить высоту в вашу таблицу: добавьте html, body, table {height: 100%}, теперь таблица будет занимать полную высоту div, которая составляет 50%

adel 30.05.2019 01:17

@adel не работает :/, я обновлю свой css, чтобы вы могли видеть

manlike 30.05.2019 01:22

Вот codepen: codepen.io/iziz96/pen/XwxKZJ я не знаю, почему он не работает!

adel 30.05.2019 01:31

@adel Я вижу, что это работает в codepen, я найду способ решить эту проблему, спасибо за помощь!

manlike 30.05.2019 01:59
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
8
2 105
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Фиксированный макет

Таблицы по своей природе соответствуют своему содержанию. Все, что находится внутри <td>, влияет на ширину и высоту <td>s и, в свою очередь, влияет на <tr>, затем на <tbody> и, наконец, на <table>. Это поведение по умолчанию задается table-layout:auto, которое применимо только к <table> или элементу-контейнеру с display: table или display: inline-table. Единственным другим значением для table-layout является fixed. Таблица "фиксированный" дает разработчику больший контроль над поведением таблицы, учитывая любую указанную ширину, указанную для любого <th> (если нет <th>, то <td> вверху tr>). Поскольку используется BootStrap, мы можем присвоить .table-fixed class <table> эквивалент table {table-layout: fixed}`.

Теперь, чтобы управлять содержимым внутри <td>, поместите <div> или любой аналогичный элемент блочного уровня в каждый <td>. Если вы хотите получить min-width или width любой строки, просто примените их только к одному из <div>. Обратите внимание, что добавлены дополнительные строки, и у каждой на самом деле есть содержимое: #&nbsp; или неразрывный пробел, который предотвращает схлопывание пустой ячейки — альтернативой является присвоение каждой <div>min-height.

<div>, содержащий таблицу, имеет класс BS .table-responsive и имеет высоту 50% от высоты <body> (также 100% по умолчанию BS). Такая компоновка облегчает внешнее управление столом.

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

Не все на 100% из-за множества неизвестных факторов, которые могут иметь или не иметь ваш реальный макет, поэтому при комментировании, пожалуйста, не говорите "Это не работает". Сначала установите любые детали, которые мы пропустили, а затем то, что вы наблюдаете, что не работает и как это должно работать/выглядеть.

Демо

html,
body {
  height: 100%;
}

.table-responsive {
  height: 50%;
}

table {
  height: 100%;
}
<link href = "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel = "stylesheet">

<div class = "table-responsive">
  <table class = "table table-bordered table-condensed table-fixed" id = "StoreData">
    <thead>
      <tr>
        <th class = "col-xs-4">County / District</th>
        <th class = "col-xs-2">Zip Code</th>
        <th class = "col-xs-3">Longitude</th>
        <th class = "col-xs-3">Latitude</th>
      </tr>
    </thead>
    <tr>
      <td>
        <div>Bermuda Triangle</div>
      </td>
      <td>
        <div>33036</div>
      </td>
      <td>
        <div>25.0000</div>
      </td>
      <td>
        <div>-71.0000</div>
      </td>
    </tr>
    <tr>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
    </tr>
    <tr>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
    </tr>
    <tr>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
    </tr>
    <tr>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
    </tr>
    <tr>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
    </tr>
    <tr>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
      <td>
        <div>&nbsp;</div>
      </td>
    </tr>
  </table>
</div>

<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js'></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>

Другие вопросы по теме