Here's my CSS block:
:global {
table, .table {
border-collapse: collapse;
border-spacing: 0;
width: 100%;
font-size: 0.8em;
font-family: var(--font-family-roboto);
font-weight: normal;
letter-spacing: .25px;
&.fixed {
table-layout: fixed;
}
&.disabled {
opacity: 0.5;
}
> thead {
border-bottom: 1px solid var(--grey-light);
}
> thead th {
color: var(--blue);
text-transform: uppercase;
font-family: var(--font-family-simplon);
font-weight: bold;
letter-spacing: 1px;
text-align: left;
line-height: 12px;
span {
vertical-align: top;
}
}
> thead th,
> tfoot td,
> tbody td {
padding: 5px;
word-wrap: break-word;
vertical-align: middle;
white-space: pre;
&:last-child,
&:first-child {
padding-left: 20px;
}
}
> tfoot {
background-color: var(--grey-lighter);
font-weight: var(--font-weight-bold);
letter-spacing: 1.25px;
text-transform: uppercase;
}
> caption {
text-align: left;
font-size: 1.2em;
margin-bottom: 15px;
padding: 0 2px;
}
}
}
stylelint complains about:
39:5 ✖ Expected selector ":global table > thead th" to come before selector ":global .table > thead th" no-descending-specificity
41:5 ✖ Expected selector ":global table > tbody td" to come before selector ":global .table > tfoot td" no-descending-specificity
47:7 ✖ Expected selector ":global table > tbody td:last-child" to come before selector ":global .table > tfoot td:last-child" no-descending-specificity
48:7 ✖ Expected selector ":global table > thead th:first-child" to come before selector ":global .table > thead th:last-child" no-descending-specificity
48:7 ✖ Expected selector ":global table > tfoot td:first-child" to come before selector ":global .table > tfoot td:last-child" no-descending-specificity
48:7 ✖ Expected selector ":global table > tfoot td:first-child" to come before selector ":global .table > tbody td:last-child" no-descending-specificity
48:7 ✖ Expected selector ":global table > tbody td:first-child" to come before selector ":global .table > tfoot td:last-child" no-descending-specificity
48:7 ✖ Expected selector ":global table > tbody td:first-child" to come before selector ":global .table > tbody td:last-child" no-descending-specificity
48:7 ✖ Expected selector ":global table > tbody td:first-child" to come before selector ":global .table > tfoot td:first-child" no-descending-specificity
It seems like it wants me to split table
and .table
declarations but that will only duplicate the styles. Not sure how to keep the code DRY and satisfy stylelint. Any ideas?
These errors can be reproduced in here https://stylelint.io/demo/.