отображать границу, только если элемент не является элементом tfoot

#css

#css

Вопрос:

Я хочу отобразить a border для td элемента, но только если элемента нет в tfoot элементе. Как мне это сделать с .not помощью селектора CSS?

Это не работает:

 td.not(tfoot) { ... }
  

Комментарии:

1. Включен ли tfoot класс table или включен td ?

2. tfoot является html-тегом, table разделом

Ответ №1:

Вы можете попробовать это правило (влияет на все ячейки, которых нет в tfoot)

 table :not(tfoot) tr td {
  border: 1px solid red;
}
  

или

 table > :not(tfoot) td {
  border: 1px solid red;
}
  

Ответ №2:

Вы можете применить границу только к tbody или thead с помощью этого кода:

 table thead tr th{
    border: 1px solid #ccc; // Here your code of css
}

table tbody tr td{
    border: 1px solid #ccc; // Here your code of css
}
  

С уважением!

Комментарии:

1. Несмотря на то, что это не дает прямого ответа на вопрос, это действительно решает мою проблему — спасибо. 1 за нестандартное мышление

Ответ №3:

Вы не можете явно это сделать. Однако вы можете установить, а затем перезаписать правило:

 td { border: 1px solid black; }
tfoot td { border-width: 0; }
  

Комментарии:

1. Да, это всегда безопасный вариант, но я хотел более элегантное решение, использующее возможности CSS.