Таблица с фиксированной высотой заголовка и другими строками в процентах от контейнера

0

Я хотел бы создать таблицу с фиксированной высотой заголовка (f.ex. 20px), а высота других строк должна определяться процентом контейнера (f.ex. 12%).

Число строк варьируется от 4 до 6, и это является причиной того, что моя таблица ведет себя неправильно. Высота заголовка изменяется в зависимости от количества строк, несмотря на то, что он определен в CSS (минимальная высота, высота и максимальная высота).

Здесь пример CSS:

#container
{
  height: 800px;
}

#t1
{
  border-collapse: collapse;
  table-layout: fixed;
  //height: 100%;
  border: 1px solid black;
}

#head_row
{
  height: 20px;
  max-height: 20px;
  min-height: 20px;
}

tbody tr
{
    height: 12%;
    max-height: 12%;
    min-height: 12%;
}

tbody td
{
    border: 1px solid black;
    height: 12%;
    max-height: 12%;
    min-height: 12%; 
}

Вот пример JSfiddle того, чего я пытаюсь достичь, но без установки высоты таблицы до 100% это не сработает, и я прокомментировал это.

jsfiddle здесь.

Что я забыл или что я делаю неправильно? Есть ли способ сделать это, используя только HTML и CSS?

РЕДАКТИРОВАТЬ:

Я пытаюсь сделать небольшой календарь (я не писал его раньше), и я просто посмотрел, как Google делает это:

Календарь Google

У них заголовок как одна таблица, а каждая строка - как div с таблицей с одной строкой внутри... Ну, я считаю, что люди в Google знают, что они делают, но действительно ли нет более простого способа?

  • 2
    Высота в процентах относительно родительского элемента, вам нужно «передать его» вашему элементу назначения. Поэтому, если вы хотите, чтобы в строках таблицы была указана процентная высота, вам также нужно установить высоту в таблице, будет работать абсолютная высота и процентная высота (опять-таки относительно контейнера таблицы).
  • 0
    Вы правы, теперь я понимаю часть о высоте стола, но строки все еще остаются.
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Определите высоту стола следующим образом.

    height: 100%.

Который будет ссылаться на высоту контейнера, как вы определили. (min-height: 800px; для Container div более условно, так что Container div может расти в случае большего количества данных).

    height: 800px;

Если вы удалите высоту контейнера, таблица вернется к минимальной требуемой высоте.

  • 0
    Но как насчет размера и размера строки?
  • 0
    Пусть другие css будут такими, какие они есть. просто добавьте height: 100% к таблице. Я думаю, что это решит вашу проблему.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню