html — Высота таблицы на все оставшееся место
Вопрос задан
Изменён 7 лет 7 месяцев назад
Просмотрен 194 раза
В следующем каркасе:
<div></div> <tableprompt"></div>
Нужно сделать так, чтобы menu и prompt имели фиксированную высоту и были расположены относительно таблицы сверху и снизу соответственно. А таблица занимала по высоте все оставшееся место. В данном случае высота равна высоте родительского блока.
Как осуществить определение высоты по оставшемся месту?
Пока, как вариант, сделал в таблице padding’и сверху и снизу, и соответствующие им отрицательные margin’ы. С виду — не костыль, но может есть другие способы?
- html
- css
- вёрстка
Можно сделать без отрицательных
Пример http://codepen.io/anon/pen/xbNWMO
Но вариант лучше — это сделать #menu и #prompt частью таблицы, например: http://codepen.io/anon/pen/WbBJNm. Здесь не будет зависимости от высоты контента #menu и #prompt, плюсом еще вертикальное позиционирование.
Вариант лучше предыдущего — это переписать на блочную верстку (display: table\table-row\table-cell) или flex.
2
для html,body задать height:100%;
и потом уже вашему блоку height:100%;
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Теги DIV с 100 % относительной высотой без изменения размера — Browsers
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Предупреждение
Устаревшее, не поддерживаемое классическое приложение Internet Explorer 11 (IE11) будет окончательно отключено в некоторых версиях Windows 10 в рамках выпуска обновления для системы безопасности Windows («B»), запланированного на 14 февраля 2023 г. Мы настоятельно рекомендуем настроить режим IE в Microsoft Edge и отключить IE11 до этой даты, чтобы в вашей организации не возникли проблемы с бизнесом.
Дополнительные сведения см. в разделе aka.ms/iemodefaq.
В этой статье описывается поведение, согласно которому размер тега DIV с относительной высотой 100 % не изменяется в Internet Explorer 9 или более поздней версии.
Исходная версия продукта: Internet Explorer 9 и более поздних версий
Исходный номер базы знаний:
Симптомы
В Internet Explorer 9 или более поздней версии используется таблица с абсолютной высотой и по крайней мере двумя ячейками в одной строке. Одна ячейка содержит текст, а другая — тег DIV с относительной высотой 100 %. Текст не помещается в заданную высоту, поэтому размер таблицы изменяется. Тег DIV остается на начальной абсолютной высоте таблицы и не будет изменяться автоматически.
Это поведение является конструктивным и применяется к стандартному режиму для всех поддерживаемых версий Internet Explorer 9 и более поздних версий.
Примечание.
Поведение может отличаться в режиме Quirks и эмуляции режима Quirks (QME) при использовании Internet Explorer 9 или более поздней версии.
Ниже приведен пример описанного выше поведения:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <body> <table border="1px"> <tr> <td> <p> this text does not fit and will resize the table<br />this text does not fit and will resize the table<br /> this text does not fit and will resize the table<br />this text does not fit and will resize the table<br /> </p> </td> <td> <div></div> </td> </tr> </table> </body> </html>
Согласно спецификации W3 высота ячейки не будет влиять на высоту строки, и любая дополнительная высота должна идти к заполнению ячейки. Затем дочерний элемент ячейки должен разрешать свою процентную высоту относительно поля содержимого ячейки, которая не изменяется по высоте строки.
В соответствии с CSS 2.1 высота ячейки — это минимальная высота, необходимая для содержимого. Свойство ячейки height
таблицы может влиять на высоту строки (см. выше), но не увеличивает высоту ячейки. Ячейки, которые меньше высоты строки, получают дополнительную верхнюю или нижнюю заполнение.
Дополнительные сведения см. в статье Определение совместимости документов.
html — CSS как сделать фиксированную высоту?
спросил
Изменено 3 года, 8 месяцев назад
Просмотрено 118 тысяч раз
<таблица ячеек="0"> <тд> <диапазон> // имена здесь . ..больше кода таблица>
Это не работает. Переполнение по-прежнему делает ячейку выше, высота добавляется к содержимому.
- HTML
- CSS
2
Лучшее решение — поместить div внутри ячейки с высотой:
<дел> ...
Кстати, для чего нужен диапазон? Если вам это нужно только для стилизации, вы можете стилизовать ячейку напрямую.
0
Искомое свойство CSS: вам не хватает строк таблицы Я только изучаю веб-дизайн, так что я немного нуб. 1 У меня была такая же проблема. Вы можете использовать диапазон напрямую. Это лучший подход. TD/TR не соблюдает установленную высоту.
Просто поместите класс в свой диапазон и добавьте CSS или просто примените его напрямую с атрибутом стиля. или просто Вы пытались установить высоту css для атрибута td, а не для атрибута html? 1 Перейдите с Div внутри td и с помощью css покажите точки для переполнения Используйте и отрегулируйте значения «1pt» (верхнее и нижнее) для необходимой высоты. Почему-то не работает. Я бы написал 0 Зарегистрируйтесь с помощью Google Зарегистрироваться через Facebook Зарегистрируйтесь, используя адрес электронной почты и пароль Электронная почта Обязательно, но не отображается Электронная почта Требуется, но не отображается Задавать вопрос спросил Изменено
2 года, 3 месяца назад Просмотрено
145 тысяч раз У меня есть таблица, которая всегда должна занимать определенный процент высоты экрана. Большинство строк имеют фиксированную высоту, но у меня есть одна строка, которая должна растягиваться, чтобы заполнить доступное пространство. В случае, если содержимое ячейки в этой строке выходит за пределы желаемой высоты, я хочу, чтобы содержимое обрезалось с помощью overflow:hidden. К сожалению, таблицы и строки не учитывают свойство max-height. (Это в спецификации W3C). Когда в ячейке слишком много текста, таблица становится выше, вместо того, чтобы придерживаться указанного процента. Я могу заставить ячейку таблицы работать, если укажу для нее фиксированную высоту в пикселях, но это противоречит цели автоматического растягивания ячейки для заполнения доступного пространства. Я пробовал использовать div, но не могу найти волшебную формулу. Если я использую элементы div с display:table, :table-row и :table-cell, элементы div ведут себя как таблица. Любые подсказки о том, как я могу смоделировать свойство max-height для таблицы? 3 Просто поместите метки в div внутри TD и укажите высоту и переполнение.. как показано ниже. 3 Наконец-то мы нашли своего рода ответ. Во-первых, проблема: размер таблицы всегда зависит от содержимого, а не для того, чтобы содержимое помещалось в таблицу. Это ограничивает ваши возможности. Мы сделали это, установив для div содержимого значение display:none, задав размер самой таблицы, а затем в javascript задав высоту и ширину div содержимого равными внутренней высоте и ширине закрывающего тега td. Показать содержимое div. Повторите процесс при изменении размера окна. 1 Возможно, не кросс-браузерный, но мне удалось получить это: http://jsfiddle.net/QexkH/ в основном для этого требуются верхний и нижний колонтитулы фиксированной высоты. и это абсолютные позиции в таблице. 3 Что я нашел !!!, В таблицах CSS Я знаю ситуацию, когда высота ячеек выглядит плохо. Это решение javascript не требует скрытого переполнения. Для ограничения максимальной высоты всех ячеек или строк в таблице с помощью Javascript: Этот скрипт хорош для таблиц с горизонтальным переполнением. Этот скрипт каждый раз увеличивает ширину таблицы на 300 пикселей (максимум 4000 пикселей), пока строки не сократятся до max-height(160px) , и вы также можете редактировать числа по своему усмотрению. Источник: HTML Table Solution Максимальный предел высоты для строк или ячеек путем увеличения ширины таблицы, Javascript высоту до цели и добавляет три точки 0 У меня была такая же проблема с компоновкой таблицы, которую я создавал. Я использовал решение Джозефа Марикла, но сделал так, чтобы оно работало и для FireFox, и добавило стиль строки таблицы для хорошей меры. Чистое решение CSS, поскольку использование Javascript для этого кажется совершенно ненужным и излишним. HTML css Вам нужна оболочка вокруг таблицы, если вы хотите, чтобы таблица соответствовала высоте в процентах, в противном случае вы можете просто установить высоту в пикселях для элемента таблицы. line-height
. Вам просто нужно поместить его в , а не в содержащийся
<тд>
<диапазон>
// имена здесь
таблица>
. Итак, что я сделал, так это поместил элемент и зафиксировал его высоту. Каким бы ни был контент, высота фиксирована.
.align{ высота: 200 пикселей;
переполнение: прокрутка;
ширина: 600 пикселей;
}
<тд>
<дел>
.
.
.
ДЛИННОЕ ИМЯ
.MyClass { // в файле CSS
высота: 60 пикселей;
переполнение: скрыто;
}
ДЛИННОЕ ИМЯ
<тд>
// здесь имена
. box {
ширина: 200 пикселей;
}
.clampMe {
переполнение: скрыто;
переполнение текста: многоточие;
дисплей: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: вертикальный;
}
.clampMe: после {
дисплей: нет;
}
<голова>
<скрипт src="script.js">
голова>
тест
тест
тест
тест
<тд>
<дел>
FASTag — это простая в использовании перезагружаемая метка, которая обеспечивает автоматическое взимание платы за проезд и позволяет вам пройти через пункт взимания платы, не останавливаясь для оплаты наличными. FASTag связан с предоплаченной учетной записью, с которой снимается соответствующая сумма дорожных сборов.
вычитается. Метка использует технологию радиочастотной идентификации (RFID) и прикрепляется к лобовому стеклу автомобиля после активации учетной записи метки.
<тд>
таблица>
тело>
.yourClass {padding: 1pt 0 1pt 0;}
заполнение 0;
...
Зарегистрируйтесь или войдите в систему
Опубликовать как гость
Опубликовать как гость
html — Установка максимальной высоты для содержимого ячейки таблицы
<голова>
<стиль>
стол {
ширина: 50%;
высота: 50%;
интервал между границами: 0;
}
тд {
граница: 1px сплошной черный;
}
. headfoot {
высота: 20 пикселей;
}
#содержание {
переполнение: скрыто;
}
стиль>
голова>
<тело>
<таблица>
заголовок
<тд>
<дел>
поместите сюда много текста
таблица>
тело>
нижний колонтитул <таблица>
таблица>
таблица {
ширина: 50%;
высота: 50%;
интервал между границами: 0;
положение: абсолютное;
}
тд {
граница: 1px сплошной черный;
}
#содержание {
положение: абсолютное;
ширина:100%;
слева: 0px;
верх: 20 пикселей;
внизу: 20 пикселей;
переполнение: скрыто;
}
td{height:60px;}
работает так же, как CSS td{min-height:60px;}
var i = 0, row, table = document.getElementsByTagName('table')[0], j = table.offsetWidth;
в то время как (строка = table.rows[i++]) {
в то время как (row.offsetHeight > 160 && j < 4000) {
j += 300;
table.style.width = j + 'px';
}
}
.wrapper {высота: 200 пикселей;}
.table {позиция: относительная; переполнение: скрыто; дисплей: таблица; ширина: 100%; высота: 50%;}
.table-row {отображение: table-row; высота: 100%;}
.table-cell {позиция: относительная; переполнение: скрыто; отображение: таблица-ячейка;}
.cell-wrap {позиция: абсолютная; переполнение: скрыто; сверху: 0; слева: 0; ширина: 100%; высота: 100%;}