Прокрутка таблицы в IE8

В моем проекте я пытаюсь сделать прокрутку tbody в IE8. Я знаю, что это можно прокрутить, просто нажав overflow: auto на tbody. Но это не работает в IE8. Чтобы он работал в IE8, tbody должен быть указан position: absolute (или float: left для thead и tbody). Если я выполняю работу overflow: auto, тогда ширины, которые я присвоил значениям th и td в процентах, игнорируются. который, в свою очередь, не позволяет tr занимать полную ширину в thead и tbody. Следовательно, существует раздражающее пространство между tr и tbody/thead.

Протестируйте эту демонстрацию в IE8. (отлично работает в firefox и chrome)

и вот код в скрипт.

Вот строгие точки, которые я не могу изменить

  • Ширина до td и th должна быть в процентах.
  • Я не могу изменить разметку HTML
  • Его нужно решить, используя только CSS.

На самом деле, я решил это с грязным исправлением, которое выглядит следующим образом

th:after,td:after{ /* only to the last column, first occurence */
    content: "...................................................";
    visibility: hidden;
}

Вышеупомянутый код также можно проверить, указав много точек на определенный td/th в инструментах разработчика

Вышеприведенный код выглядит нормально, но мне нужно дать псевдоселектору :after только для первого столбца последней строки th и tr. Если я даю каждому th и tr, тогда макет испортится. а также dots должно быть увеличено, если пустое пространство между tr и tbody больше. Тогда, конечно, это может быть достигнуто только динамически, чего я не могу сделать в своем текущем проекте.

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

Ответ 1

Я нашел два способа решить эту проблему в IE8.

1      /p >

демонстрация IE8

        2)   Добавление скрытой буквы в содержимое псевдо-селектора after.

    tr:after{
        content: ".";
        visibility: hidden;
    }

Я добавил выше в условном css. потому что проблема была только в IE8. (Я не тестировал в IE9 +)

    <!--[if IE 8]>
         <style>
             /* the above css code here */
         </style>
    <![endif]--> 

демонстрация IE8

Я использовал последний, потому что он прост.