Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902

Ограничение блока с display:table-row по высоте

10.10.2018, 09:13. Показов 3866. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть таблица, она разделена на 4 части, общая структура такова

HTML5
1
2
3
4
5
6
7
<div id="app">
    <div class="header row"> //Шапка, display: table-row
        <div class="left-top-coner side cell"> // Левый верхний угол
        <div class="header-columns main cell"> // Колонки таблицы
    <div class="main row"> // Тело таблицы
        <div class="left-numeric side cell"> // Левая колонка с нумерацией
        <div class="main-block main cell"> // Остальные колонки
.header-columns отделен от .left-top-coner, а .main-block от left-numeric чтобы можно было прокручивать горизонтально без исчезновения колонки с нумерацией. Это замечательно работает через

CSS
1
2
max-width: 300px;
overflow-x: scroll;
Но попытка задать для '.main.row.' свойства max-height или height чтобы ограничить высоту основной части таблицы и вызвать появление вертикальной полосы прокрутки, ни к чему не приводит. Свойство в инспекторе отображается, оно не зачеркнуто, но высота .main.row от этого не меняется, строка растягивается по вертикали в зависимости от содержимого.

Буду благодарен за любые подсказки.

https://codepen.io/dimoff66/pen/wYJmOL
то же самое в дебаге https://s.codepen.io/dimoff66/... MZEWLPQLxk

Код HTML
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<div id="app">
    <div class="header row">
        <div class="left-top-coner side cell">
        </div>
        <div class="header-columns main cell">
            <div class="columns row">
                <div>May</div>
                <div>June</div>
                <div>July</div>
                <div>August</div>
            </div>
        </div>
    </div>
    <div class="main row"> /* Нужно ограничить по высоте вот этот блок */
        <div class="left-numeric side cell">
            <div class="row">
                1
            </div>
            <div class="row">
                2
            </div>
            <div class="row">
                3
            </div>
            <div class="row">
                4
            </div>
        </div>
        <div class="main-block main cell" onscroll="mainBlockOnScroll(this)">
            <div class="booking row">
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
            </div>
            <div class="booking row">
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
            </div>
            <div class="booking row">
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
            </div>
            <div class="booking row">
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
                <div class="cell">
                    <div class="booking-header">
                        <span class="percent-value">30</span>
                        <span class="percent-sign">%</span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>


Код CSS
Кликните здесь для просмотра всего текста
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/* Вот этот блок нужно ограничить по высоте */
.main.row{
   height: 200px;
   overflow-y: hidden;
}
/* ============== */
 
.table{
   display: table;
   border: none;
}
.table>div{
   display: table-row;
}
.table>div>div{
   display: table-cell;
}
#app{
   background-color: #3A3A3B;
   color: white;
   font-size: 8px;
}
.row{
   display: table-row;
}
.row>div{
   display: table-cell;
}
.side{
   width: 20px
}
.header{
   height: 20px
}
.header .main.cell{
   padding-left: 5px;
   overflow-x: hidden;
}
.header .main.cell>div>div{
   border: #3A3A3B 1px solid;
}
.main.row .main.cell{
   background-color: #202123;
   padding: 5px;
   overflow-x: scroll;
}
.main.row .main.cell>div>div{
   background-color: #323133;
   border: #202123 1px solid;
}
.main.row .main.cell>div,.main.row .side.cell>div{
   height: 120px;
}
.main-block{
   max-height: 300px;
}
.main.cell{
   max-width: 300px;
   overflow-x: hidden;
}
.main.cell>div>div{
   min-width: 90px;
}
 
.schedule>div>div{
   padding: 3px;
}
.selected-time span{
   background-color: #0f0f0f;
   color: #777777;
   padding: 2px;
}
.booking-header{
   border-bottom: #444444 0.5px solid;
   padding: 2px 0 0 5px
}
.booking-header .percent-value{
   font-size: 20px;
   color: #E8CE4D;
}
.booking-header .percent-sign{
   font-size: 7px;
   vertical-align: top;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.10.2018, 09:13
Ответы с готовыми решениями:

#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOB
При внесении данных в БД возникла ошибка.Ни как не могу заполнить таблицу. Помогите пожалуйста!

$IE7 -> ERROR (table-cell && table-row)
Здравствуйте земляне, профессионалы своего дела, отцы кодинга, лучшие умы планеты земля. Возникла проблема у меня, простого людишки! ...

Bootstrap 3: колонка по высоте родителя-row
Фреймворк bootstrap 3. Имеется примерно следующая разметка: &lt;div class=&quot;container&quot;&gt; &lt;div class=&quot;row&quot;&gt; &lt;div...

3
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
10.10.2018, 12:24
Лучший ответ Сообщение было отмечено renat_dmitriev как решение

Решение

renat_dmitriev, приветствую.
Цитата Сообщение от renat_dmitriev Посмотреть сообщение
Но попытка задать для '.main.row.' свойства max-height или height чтобы ограничить высоту основной части таблицы
нужно явно указать свойство display у .main.row
CSS
1
2
3
4
5
.main.row{
   display: block;
   height: 400px;
   overflow-y: auto;
}
1
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
10.10.2018, 13:48  [ТС]
Qwerty_Wasd,
Огромное спасибо. Это чем-то объясняется какими-то спецификациями или логикой или просто фича?
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
10.10.2018, 14:20
renat_dmitriev, Вы же помните как Вы указали
CSS
1
2
3
.row{
   display: table-row;
}
?

Overflow не работает с табличной моделью.

Добавлено через 4 минуты
Цитата Сообщение от renat_dmitriev Посмотреть сообщение
объясняется какими-то спецификациями
в спецификации написано лишь, что оно работает c Box Model, то есть - https://www.w3.org/TR/CSS22/box.html
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2018, 14:20
Помогаю со студенческими работами здесь

Html table row handling
Здравствуйте! Есть проект Java Spring WebFlow, в котором есть view .jsp с таблицей html. В таблицу из БД выгружаются объекты с...

Высота блока по высоте блока, следующего за ним
Здравствуйте, существует такая конструкция: &lt;div class=&quot;transparency&quot;&gt; &lt;!-- Это полу-прозрачный блок--&gt; &lt;/div&gt; &lt;div...

как правильно раставить кнопки в Table Row?
привет всем. Вот решил написать первую игру на андроид и столкнулся с проблемой. Вообще есть 4 кнопки, на них меняется текст, и когда текст...

Неправильно работает display: table
Создал меню с помощью списка и display: inline. С пробелами между элементами решил бороться с помощью font-size: 0 и display: table....

Макет галереи display: table
Помогите с созданием табличной галереи. Нужно создать галерею вот такого плана. Я делаю правый table-cellфиксированной шириной 200px и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru