Я хотел бы создать таблицу с чередующимися цветными строками, где каждая строка имеет два столбца. Кроме того, первая строка в таблице действует как заголовок и пересекает оба столбца.
Я чувствую, что близок к желаемому результату, но список из двух столбцов не отображается должным образом. В настоящее время второй элемент в списке из трех элементов отображается во втором столбце и отображается между элементами 1 и 3. Кроме того, цвет фона строки не растягивается на оба столбца, а вместо этого растягивается прямо вниз в строку под ним. .
Пожалуйста, просмотрите прикрепленный снимок экрана.
Желаемый результат
.html.haml
%div.mobileLandingPageTable
%table
%tr
%td{:colspan => "2"}
List
- @list.each do |company|
%tr
%td{:rowspan => "2"}
= company.company_name
common.sass
.mobileLandingPageTable
margin: 0px
padding: 0px
width: 90%
.mobileLandingPageTable table
width: 90%
height: 100%
margin: 0px
padding: 0px
border: 1px solid #a8a8a8
border-bottom-right-radius: 0px
border-top-left-radius: 0px
border-top-right-radius: 0px
border-bottom-left-radius: 0px
.mobileLandingPageTable tr:nth-child(odd)
background-color: #ffffff
.mobileLandingPageTable tr:nth-child(even)
background-color: #d6d0cb
.mobileLandingPageTable td
border: 1px solid #a8a8a8
border-width: 0px 1px 1px 0px
text-align: left
padding: 7px
font-size: 10px
font-family: Arial
font-weight: normal
color: #000000
.mobileLandingPageTable tr:last-child td
border-width: 0px 1px 0px 0px
.mobileLandingPageTable tr td:last-child
border-width: 0px 0px 1px 0px
.mobileLandingPageTable tr:last-child td:last-child
border-width: 0px 0px 0px 0px
.mobileLandingPageTable tr:first-child td
background-color: #002F87
border: 0px solid #a8a8a8
text-align: left
border-width: 0px 0px 1px 1px
font-size: 12px
font-family: Arial
color: #ffffff
.mobileLandingPageTable tr:first-child td:first-child
border-width: 0px 0px 1px 0px
.mobileLandingPageTable tr:first-child td:last-child
border-width: 0px 0px 1px 1px
ОБНОВЛЕНИЕ
Я добавил измененный haml, но все еще изо всех сил пытался заставить эти строки иметь только два столбца. Как добавить логику для создания новой строки, если строка уже охватывает два столбца?
%div.mobileLandingPageTable
%table
%tr
%td{:colspan => "2"}
List
%tr
- @list.each do |company|
%td{:colspan => "1"}
= company.company_name
Эта модификация теперь имеет одну строку со столбцом для каждого элемента. Я не понимаю, какую логику я могу использовать, чтобы автоматически создавать новую строку после того, как в строке уже присутствуют два объекта.