Я изо всех сил пытаюсь разместить div под третьим td (7 под 6 на экране). Div (7) также должен изменить свою позицию Y в зависимости от высоты td (6).
1, 2, 4, 5, 7 изменяют свое содержимое динамически (оно может содержать теги <sub>
& <sup>
), а текст (6) должен быть выровнен по верхнему краю полей 4 и 5.
Если 6 пусто, то 7 должно быть на 6 позициях, выровненных по верху 4 и 5 полей. Поля должны быть той же ширины и высоты, что и на экране (4 - ~ width: 200px ;, 5 - ~ width: 120px;).
- Я попытался поместить этот div в таблицу, но из-за этого ящики стали ужасно большими.
- Также я пытался сделать таблицу внутри tr из 6 элементов, это также делает коробки некрасивыми.
- Когда вы даете таблице
position absolute
, то div не меняет своего положения.
Это сложная задача, которую я не могу выполнить уже неделю. Я также попытался сделать rowspan
и третий tr, чтобы поставить 7 под 6, но rowspan также делает коробки большими (, как показано здесь ).
Допускается изменение кода html. Важно пройти через CSS, потому что он нужен для печати. И одна из самых больших проблем, когда вы пытаетесь решить это с помощью JS, заключается в том, что когда вы уменьшаете масштаб окна, элементы могут изменить его положение.
.detailName {
margin-top: 10px;
}
.table-sources {
width: 400px;
margin-left: 40px;
margin-top: 3px;
}
.table-wrap:first-child {
margin-top: -10px;
}
.table-wrap {
display: flex;
}
.table-vals {
margin-bottom: 5px;
}
.table-vals th {
max-width: 200px;
text-align: left;
font-size: 13px !important;
font-weight: normal;
vertical-align: top;
}
.table-vals .first-th {
min-width: 200px;
}
.table-vals td {
text-align: center;
padding: 10px;
font-size: 20px;
font-weight: bold;
}
.table-vals .second-th {
float: left;
position: relative;
left: 15px;
width: 98px;
}
.table-vals .first-td {
border: 2px solid #192E7B;
}
.table-vals .second-td {
position: relative;
left: 15px;
background: wheat;
}
.table-vals .third-th {
position: relative;
left: 40px;
}
.table-vals .third-td {
font-size: 14px;
font-weight: normal;
position: relative;
left: 30px;
top: -20px;
text-align: left;
}
.source-link {
word-break: break-word;
font-size: 12px;
color: grey;
position: absolute;
width: 400px;
}
.detailName {
display: block;
}
.detailName {
font-weight: bold;
}
<div class="tables-wrap">
<div class="table-wrap">
<table class="table-vals">
<tbody>
<tr class="first-tr">
<th class="first-th">ipsum dolor</th>
<th class="second-th">ipsum dolor</th>
<th class="third-th">ipsum</th>
</tr>
<tr class="second-tr">
<td class="first-td">ipsum dolor</td>
<td class="second-td" style="background:rgb(123, 161, 196);color:white;">ipsum dolor</td>
<td class="third-td" style="/* top:-23px; */">Norddeutsches Tiefland</td>
</tr>
</tbody>
</table>
<div class="table-sources" style="position: relative; left: -120px; top: 31px;">
<span class="detailName">Ipsum dolor</span><span class="source-link">Ipsum dolor Ipsum dolor Ipsum dolor Ipsum dolor Ipsum dolor Ipsum dolor Ipsum dolor Ipsum dolor</span>
</div>
</div>
</div>