How about if you wrap each row in a div with
display: content
and give it a class name like "table-row". Set the background color the gray you want and add this CSS:
.table-row:nth-of-type(even)>article{ background-color: white; }
The child can be any tag you want and you can duplicate this if there is more than one type of tag in the child rows. I use this regularly.