Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / При печати пропадают границы ячеек / 9 сообщений из 9, страница 1 из 1
22.10.2015, 12:05
    #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
22.10.2015, 13:39
    #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
22.10.2015, 14:02
    #39083538
Part.k
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При печати пропадают границы ячеек
krvsa,
Хорошо, как сделать рамки правильно?
...
Рейтинг: 0 / 0
22.10.2015, 14:22
    #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
22.10.2015, 14:29
    #39083611
Part.k
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При печати пропадают границы ячеек
выставил в Свойствах мозилы Печать фона (цвета и изображения), не помогло
...
Рейтинг: 0 / 0
23.10.2015, 13:52
    #39084715
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При печати пропадают границы ячеек
Part.k , тестовые примеры нужно делать... Пока даже пробовать нечего.
...
Рейтинг: 0 / 0
23.10.2015, 14:42
    #39084848
Part.k
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При печати пропадают границы ячеек
krvsa,
как исправить ошибку в javascript'е ? что бы он начал перебирать все столбцы. попробую добавить или объединить столбцы
...
Рейтинг: 0 / 0
23.10.2015, 16:38
    #39085106
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При печати пропадают границы ячеек
Part.k , дело в том, что в ДОМ нет понятия столбцов как таковых... Есть строки и в них ячейки...
...
Рейтинг: 0 / 0
27.10.2015, 07:43
    #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
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / При печати пропадают границы ячеек / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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