У меня есть простая таблица, в которую я пытаюсь добавить colgroup и col, но они не видны. Это также частично нарушает отзывчивость таблицы.
В мобильной версии красные столбцы видны, но они неправильные.
Вот таблица
table {
border: 1px solid #ccc;
border-collapse: collapse;
margin: 0;
padding: 0;
width: 100%;
table-layout: fixed;
}
table caption {
font-size: 1.5em;
margin: .5em 0 .75em;
}
table tr {
background-color: #f8f8f8;
border: 1px solid #ddd;
padding: .35em;
}
table th,
table td {
padding: .625em;
text-align: center;
}
table th {
font-size: .85em;
letter-spacing: .1em;
text-transform: uppercase;
}
@media screen and (max-width: 600px) {
table {
border: 0;
}
table caption {
font-size: 1.3em;
}
table thead {
border: none;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
table tr {
border-bottom: 3px solid #ddd;
display: block;
margin-bottom: .625em;
}
table td {
border-bottom: 1px solid #ddd;
display: block;
font-size: .8em;
text-align: right;
}
table td::before {
content: attr(data-label);
float: left;
font-weight: bold;
text-transform: uppercase;
}
table td:last-child {
border-bottom: 0;
}
}<table>
<caption>Statement Summary</caption>
<colgroup>
<col span = "2" style = "background-color:red; text-align: center;">
<col style = "background-color:yellow">
</colgroup>
<thead>
<tr>
<th scope = "col">Account</th>
<th scope = "col">Due Date</th>
<th scope = "col">Amount</th>
<th scope = "col">Period</th>
</tr>
</thead>
<tbody>
<tr>
<td data-label = "Account">Visa - 3412</td>
<td data-label = "Due Date">04/01/2016</td>
<td data-label = "Amount">$1,190</td>
<td data-label = "Period">03/01/2016 - 03/31/2016</td>
</tr>
<tr>
<td scope = "row" data-label = "Account">Visa - 6076</td>
<td data-label = "Due Date">03/01/2016</td>
<td data-label = "Amount">$2,443</td>
<td data-label = "Period">02/01/2016 - 02/29/2016</td>
</tr>
<tr>
<td scope = "row" data-label = "Account">Corporate AMEX</td>
<td data-label = "Due Date">03/01/2016</td>
<td data-label = "Amount">$1,181</td>
<td data-label = "Period">02/01/2016 - 02/29/2016</td>
</tr>
<tr>
<td scope = "row" data-label = "Account">Visa - 3412</td>
<td data-label = "Due Date">02/01/2016</td>
<td data-label = "Amount">$842</td>
<td data-label = "Period">01/01/2016 - 01/31/2016</td>
</tr>
</tbody>
</table>А вот Jsfiddle, где вы можете увидеть отзывчивость: https://jsfiddle.net/d5yfteck/
Как я могу использовать colgroup и col?






Эта строка:
table tr {
background-color: #f8f8f8;
}
переопределяет определения colgroup.
Без этой строки ваш код работает нормально: ваш код с colgroup
Обновлено:
Если вы хотите добиться такого же эффекта на мобильных устройствах,
в вашем мобильном макете столбцы представлены в виде строк, поэтому одним из решений является использование классов в медиа-теге (.red.yellow), также обратите внимание, что tbody должен быть установлен другим цветом.
@Ivanov проверьте ссылку, я обновил ее, это забавно, потому что в мобильном телефоне вы можете использовать свою ошибку, чтобы исправить макет.
Спасибо за помощь
Спасибо, но все же мобильная версия не в порядке, когда я добавляю
<colgroup>, удаляю все теги<colgroup>и смотрю, как должно выглядеть на мобильных устройствах.