Colgroup и Col не видны на рабочем столе

У меня есть простая таблица, в которую я пытаюсь добавить 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?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Эта строка:

 table tr {
      background-color: #f8f8f8;
    }

переопределяет определения colgroup.

Без этой строки ваш код работает нормально: ваш код с colgroup

Обновлено:

Если вы хотите добиться такого же эффекта на мобильных устройствах, в вашем мобильном макете столбцы представлены в виде строк, поэтому одним из решений является использование классов в медиа-теге (.red.yellow), также обратите внимание, что tbody должен быть установлен другим цветом.

Спасибо, но все же мобильная версия не в порядке, когда я добавляю <colgroup>, удаляю все теги <colgroup> и смотрю, как должно выглядеть на мобильных устройствах.

Ivanov 10.05.2019 20:39

@Ivanov проверьте ссылку, я обновил ее, это забавно, потому что в мобильном телефоне вы можете использовать свою ошибку, чтобы исправить макет.

Jonathan Applebaum 10.05.2019 21:00

Спасибо за помощь

Ivanov 10.05.2019 21:06

Другие вопросы по теме