powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / При печати пропадают границы ячеек
9 сообщений из 9, страница 1 из 1
При печати пропадают границы ячеек
    #39083289
Part.k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый всем. Проблема такая при печати пропадают границы ячеек.
Пользуюсь мозилой, отображает всё корректно но при печати пропадают бордюры у ячеек.
видно на рисунке:
https://cloud.mail.ru/public/3Q7Y/yG57tCh4h
как только начинаешь прокрутку вниз и шапка пропадает из вида, у ячеек снова появляются границы:
https://cloud.mail.ru/public/99a2/wkTw3Pt8S

Таблица формируется из базы средствами PHP+mySQL
Статически получить количество столбцов не получится, у каждой строки разное их количество.
Начало таблицы:
Код: html
1.
<table id='all' border=1 cellpadding=0 cellspacing=0  style='border-collapse: collapse;table-layout: auto;'>



стили у ячеек:
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
.xl642674
                {padding-top:1px;
                padding-right:1px;
                padding-left:1px;
                mso-ignore:padding;
                color:black;
                font-size:8.0pt;
                font-weight:700;
                font-style:normal;
                text-decoration:none;
                font-family:"Times New Roman", serif;
                mso-font-charset:204;
                mso-number-format:General;
                text-align:center;
                vertical-align:middle;
                border:.6pt solid windowtext;
                mso-background-source:auto;
                mso-pattern:auto;
                white-space:normal;}



Пытаюсь решить проблему возможно и не правильно, добавив ячейкам объединение равное разнице между сложившимся количеством ячеек в строке и максимального количества столбцов в таблице:
Тут выдает ошибку во втором цикле.
Код: javascript
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.
<script>

                var table = document.getElementById('all');
                var rows= table.rows.length;
                var cellsmax =0;
// Ищу максимальное количество столбцов в таблице
                for (var i=0; i< rows; ++i)
                {
                              var cells= table.rows[i].cells.length;                              
                               if (cells > cellsmax){cellsmax = cells;}                                                              
                }
// тут я добавляю это значение в первую строку десятую ячейку, все работает
                var trplus = cellsmax - 9;             
                var tr1 = table.rows[0].cells[9];
                tr1.setAttribute('colspan', trplus);

// тут хотчется что бы сделал это для каждой строки
                for (var i2=1; i2< rows; ++i2)

                {
                               var cells1= table.rows[8].cells.length;
                               var celse_tr = cellsmax - cells1;                             

                               var tr2 = table.rows[i2].cells[8];  // <-- ошибка тут  tr2 is undefiend
                               tr2.setAttribute('colspan', celse_tr);                                                             
                }

</script>



Есть ли какие то решения?
...
Рейтинг: 0 / 0
При печати пропадают границы ячеек
    #39083489
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Part.kстили у ячеек:
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
.xl642674
                {padding-top:1px;
                padding-right:1px;
                padding-left:1px;
                mso-ignore:padding;
                color:black;
                font-size:8.0pt;
                font-weight:700;
                font-style:normal;
                text-decoration:none;
                font-family:"Times New Roman", serif;
                mso-font-charset:204;
                mso-number-format:General;
                text-align:center;
                vertical-align:middle;
                border:.6pt solid windowtext;
                mso-background-source:auto;
                mso-pattern:auto;
                white-space:normal;}


Вангую, что никаких рамок-то и нет...
Есть только фон таблицы, который отличается от фона самих ячеек и проглядывается в однопиксельные "дырки" между ячейками.

Чтобы фон печатался браузером - нужно лезть в его настройки и делать соответствующие установки.

Или таки сделать уже нормальные рамки.
...
Рейтинг: 0 / 0
При печати пропадают границы ячеек
    #39083538
Part.k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,
Хорошо, как сделать рамки правильно?
...
Рейтинг: 0 / 0
При печати пропадают границы ячеек
    #39083597
Part.k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
делал так ещё, результат такой же
Код: css
1.
2.
3.
4.
5.
6.
7.
table{
border-collapse:collapse;
}
td, th{
padding:3px;
border:2px solid #000000;
}
...
Рейтинг: 0 / 0
При печати пропадают границы ячеек
    #39083611
Part.k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выставил в Свойствах мозилы Печать фона (цвета и изображения), не помогло
...
Рейтинг: 0 / 0
При печати пропадают границы ячеек
    #39084715
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Part.k , тестовые примеры нужно делать... Пока даже пробовать нечего.
...
Рейтинг: 0 / 0
При печати пропадают границы ячеек
    #39084848
Part.k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,
как исправить ошибку в javascript'е ? что бы он начал перебирать все столбцы. попробую добавить или объединить столбцы
...
Рейтинг: 0 / 0
При печати пропадают границы ячеек
    #39085106
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Part.k , дело в том, что в ДОМ нет понятия столбцов как таковых... Есть строки и в них ячейки...
...
Рейтинг: 0 / 0
При печати пропадают границы ячеек
    #39087538
Part.k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Моё решение.
Добавляем недостающее количество ячеек в строке что бы таблица была полной и браузер не додумывал нужно ли печатать бордюры.
При печати все стили сохранились. Границы у ячеек не пропали.
Код: javascript
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.
     var table = document.getElementById('all');
     var rows= table.rows.length;
     var cellsmax =0;

  /* узнаем максимальное количество ячеек*/

           for (var i=0; i< rows; ++i)
 {
          var cells= table.rows[i].cells.length;

          if (cells > cellsmax){cellsmax = cells;}

                                       }
     /* переберем все строки в таблице и добавим ячейки для каждой строки сколько нехватает*/
                for (var i2=0; i2< rows; ++i2)
                {
                    var cells1= table.rows[i2].cells.length;
                    var celse_tr = cellsmax - cells1;
                    var tr1 = table.rows[i2];              

       /* добавляем ячейки и класс для неё */
                for (var i3=0; i3< celse_tr; ++i3)
                {
                               var td1 = tr1.insertCell();
                               td1.innerHTML="&nbsp;";
                               td1.classList.add("xl632674");
                               }                                                           
                }
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / При печати пропадают границы ячеек
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]