В приведенном ниже коде используется адаптивная сеточная система и свойство CSS page-break-inside
.
В основном мы установим значение свойства page-break-inside
на avoid
, что означает, что отображение полный элемент на той же странице и не разбивать его на разрыв страницы. Это означает, что весь элемент будет отображаться на одной странице.
В вашем случае мы объединим всю основную группу в один элемент div и назначим свойство page-break-inside
. И чтобы получить табличную структуру, мы будем использовать сетку CSS, строки и столбцы.
Теперь этот код не копирует основной q.no, sub q.no при разрыве страницы. Но он сохраняет все вопросы одного и того же основного q.no на одной странице.
Этот код также может быть реализован с помощью циклов for для динамического заполнения страницы.
Обратите внимание на print
CSS класс. Он присваивается строке, в которой мы создаем новый главный вопрос. Если это отвечает вашим целям, я могу помочь вам спроектировать for
l oop, если он кажется сложным ...
.row {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto {
position: relative;
width: 100%;
}
.col {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%;
}
.col-1 {
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-2 {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-3 {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-4 {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-5 {
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-7 {
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-8 {
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-9 {
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-10 {
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-11 {
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-12 {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
@media print {
.print {
page-break-inside: avoid;
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div class="row print">
<div class="col-1"> 1 </div>
<div class="col-11">
<div class="row">
<div class="col-1"> a </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> b </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> c </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
</div>
</div>
<div class="row print">
<div class="col-1"> 2 </div>
<div class="col-11">
<div class="row">
<div class="col-1"> a </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> b </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> c </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
</div>
</div>
<div class="row print">
<div class="col-1"> 3 </div>
<div class="col-11">
<div class="row">
<div class="col-1"> a </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> b </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> c </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
</div>
</div>
<div class="row print">
<div class="col-1"> 4 </div>
<div class="col-11">
<div class="row">
<div class="col-1"> a </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> b </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> c </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
</div>
</div>
<div class="row print">
<div class="col-1"> 5 </div>
<div class="col-11">
<div class="row">
<div class="col-1"> a </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> b </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> c </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
</div>
</div>
<div class="row print">
<div class="col-1"> 6 </div>
<div class="col-11">
<div class="row">
<div class="col-1"> a </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> b </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> c </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
</div>
</div>
<div class="row print">
<div class="col-1"> 7 </div>
<div class="col-11">
<div class="row">
<div class="col-1"> a </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> b </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
<div class="row">
<div class="col-1"> c </div>
<div class="col-11">
<div class="row">
<div class="col-1">i</div>
<div class="col-10">Here is question 1</div>
<div class="col-1">1.0</div>
</div>
<div class="row">
<div class="col-1">ii</div>
<div class="col-10">Here is question 2</div>
<div class="col-1"> 1.0 </div>
</div>
<div class="row">
<div class="col-1">iii</div>
<div class="col-10">Here is question 3</div>
<div class="col-1"> 1.0 </div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>