Хобрук: Ваш путь к мастерству в программировании

Переполнение таблицы HTML не работает

Я хочу добавить полосу прокрутки, когда тело таблицы html переполняется. Я не хочу прокручивать заголовок таблицы. У меня есть эти коды html и css на моей странице вершины оракула

HTML

<div class="t-Report-wrap">
<div class="t-Report-tableWrap">
    <table class="t-Report-report" summary="tab">
        <thead>
            <tr>
                <th class="t-Report-colHead" id="CODE" align="center">Code</th>
                <th class="t-Report-colHead" id="HEAD" align="center">Head</th>
            </tr>
        </thead>            
        <tbody>
            <tr> <td > 5198 </td><td >SUSPENCE </td></tr>
            <tr> <td > 1308 </td><td >SHARE IN KNR</td></tr>
            <tr> <td > 4803 </td><td >ONE TIME </td></tr>
            <tr><td >6021</td><td >NEETHI GOODS </td></tr>
            <tr><td >6022</td><td >MANNURE STOCK </td></tr>
            <tr><td >4832</td><td >DONATION TO </td></tr>
            <tr><td >5218</td><td >CALANDER </td></tr>
            <tr><td >4829</td><td >BUILDING TAX </td></tr>
            <tr><td >5199</td><td >BICYCLE ADVANCE </td></tr>
            <tr><td >2509</td><td >BANK LOAN LT MI(SPL) </td></tr>
        </tbody>
    </table>
</div>
<div class="t-Report-links"></div>
<table class="t-Report-pagination t-Report-pagination--bottom" role="presentation"></table> 
</div>

CSS

.t-Report-wrap {
    position: relative;
}
.t-Report-tableWrap {
    height:180px;
    overflow:auto;  
    margin-top:20px;
}
.t-Report-tableWrap table {
    width:100%;
}
.t-Report-tableWrap table thead th .t-Report-colHead {
    position:absolute;   
    top:-20px;
    z-index:2;
    height:20px;
    width:35%;
    border:1px solid red;
}

Но с этим кодом шапка таблицы тоже прокручивается. На это ссылался ответ SO Как отобразить полосу прокрутки на html таблица. Может ли кто-нибудь помочь мне найти ошибку в этом коде?


  • Либо удалите th, либо .t-Report-colHead из своего CSS, потому что они нацелены на одни и те же элементы. 09.03.2018
  • Спасибо, но заголовки теперь перекрываются. Заголовок «голова» отображается над заголовком «код». 09.03.2018
  • В соответствии с предоставленной вами ссылкой вы должны обернуть текстовое содержимое <th> в <span>, а затем настроить его в CSS. Итак, что-то вроде <th id="CODE" align="center"><span class="t-Report-colHead">Code</th>. 09.03.2018
  • я. понял. Я добавил диапазон. Теперь все в порядке и работает нормально. Спасибо, сэр. 09.03.2018
  • Потрясающий! Я продолжу и добавлю это как ответ. :) 09.03.2018

Ответы:


1

Ваш код неверен, так как вы добавили лишний пробел между th и .t-Report-colHead в .t-Report-tableWrap table thead th .t-Report-colHead {

Тем не менее, вот рабочий код.

tr{
  display: table;
  width: 100%;
  table-layout: fixed;
}

thead{
  display: block;
}

tbody{
  display: block;
  height: 180px;
  overflow: auto;
}

CODEPEN

Надеюсь это поможет.

09.03.2018
  • работает, но я должен применить ширину: 100%, когда строка таблицы меньше 100%, полоса прокрутки стоит в самой левой точке. 09.03.2018
  • Рад, что смог помочь. Вы можете выбрать правильный ответ, чтобы он помог другим пользователям. Спасибо. 09.03.2018

  • 2

    Обновите свой th HTML, чтобы включить span:

    <th id="CODE" align="center"><span class="t-Report-colHead">Code</span></th>
    

    И отредактируйте свои селекторы CSS, чтобы удалить повторяющиеся th:

    .t-Report-tableWrap table thead .t-Report-colHead
    
    09.03.2018

    3

    Установите высоту и добавьте overflow:auto; к .t-Report-tableWrap tbody вместо .t-Report-tableWrap, чтобы прокрутка влияла только на тело таблицы.

    .t-Report-wrap {
        position: relative;
    }
    .t-Report-tableWrap {  
        margin-top:20px;
    }
    .t-Report-tableWrap table {
        width:100%;
    }
    .t-Report-tableWrap table thead th .t-Report-colHead {
        position:absolute;   
        top:-20px;
        z-index:2;
        height:20px;
        width:35%;
        border:1px solid red;
    }
    .t-Report-tableWrap tbody{
        height:180px;
        overflow:auto;
    }

    Надеюсь это поможет.

    09.03.2018

    4

    Я думаю, что у вершины есть настройка для этого, см. этот пример:

    Без настройки: https://apex.oracle.com/pls/apex/f?p=145797:1

    С настройкой: https://apex.oracle.com/pls/apex/f?p=145797:12

    Перейдите к атрибутам отчета: введите здесь описание изображения

    09.03.2018
  • Это для интерактивного отчета, но я использую табличную форму. 09.03.2018
  • Новые материалы

    ВЫ РЕГРЕСС ЭТО?
    Чтобы понять, когда использовать регрессионный анализ, мы должны сначала понять, что именно он делает. Вот простой ответ, который появляется, когда вы используете Google: Регрессионный..

    Не зря же это называют интеллектом
    Стек — C#, Oracle Опыт — 4 года Работа — Разведывательный корпус Мне пора служить Может быть, я немного приукрашиваю себя, но там, где я живу, есть обязательная военная служба на 3..

    LeetCode Проблема 41. Первый пропущенный положительный результат
    LeetCode Проблема 41. Первый пропущенный положительный результат Учитывая несортированный массив целых чисел, найдите наименьшее пропущенное положительное целое число. Пример 1: Input:..

    Расистский и сексистский робот, обученный в Интернете
    Его ИИ основан на предвзятых данных, которые создают предрассудки. Он словно переходит из одного эпизода в другой из серии Черное зеркало , а вместо этого представляет собой хронику..

    Управление состоянием в микрофронтендах
    Стратегии бесперебойного сотрудничества Микро-фронтенды — это быстро растущая тенденция в сфере фронтенда, гарантирующая, что удовольствие не ограничивается исключительно бэкэнд-системами..

    Декларативное и функциональное программирование в стиле LINQ с использованием JavaScript с использованием каррирования и генератора ...
    LINQ - одна из лучших функций C #, которая обеспечивает элегантный способ написания кода декларативного и функционального стиля, который легко читать и понимать. Благодаря таким функциям ES6,..

    Структуры данных в C ++ - Часть 1
    Реализация общих структур данных в C ++ C ++ - это расширение языка программирования C, которое поддерживает создание классов, поэтому оно известно как C с классами . Он используется для..