У меня есть элемент CSS, описывающий таблицу, он содержит следующую строку:
.pricing tr td:last-child { text-align: right; }
Который делает текст в последнем столбце выравнивается вправо. Класс ценообразования - это класс таблицы, которую я пытаюсь редактировать. Я действительно не мог найти или найти где-либо правила для перечисления табличных тегов в CSS. Если я поставлю:
table .pricing tr td:last-child { text-align: right; }
или
.pricing table tr td:last-child { text-align: right; }
Тогда эта строка не работает. Однако, если я поставлю:
table.pricing tr td:last-child { text-align: right; }
Тогда это действительно работает.
Что еще более сбивает с толку, так это то, что я редактирую CSS темы, и он имеет следующие строки:
table caption { font-weight: bold; text-align: left; padding: 4px 6px; border: 1px solid #ddd; border-bottom: 0; background: #ffd53c url(img/pattern.png); }
table th, table td { padding-left: 6px; padding-right: 6px; line-height: 21px; border: 1px solid #ddd; background-color: #fff; text-align: left; vertical-align: middle; }
table th, table tfoot td { font-weight: bold; background: #eee url(img/pattern.png); }
table tfoot a { text-decoration: none; }
table .alternate td { background-color: #fafafa; }
table.large th,table.large td { padding: 12px 8px; }
Я просто хочу выяснить правило, когда класть таблицу, когда не ставить таблицу, нужно ли мне писать tr td или просто td, где я помещаю селектор классов (перед всем, посередине, с таблицей или без нее, и т.д).
если этот селектор работает
table.pricing tr td:last-child
это означает, что ваша таблица имеет класс pricing
, поэтому совершенно очевидно, что
table .pricing tr td:last-child
не может работать (потому что вы ищете детей между table
и tr
(например, tbody/thead/tfoot
) с pricing
класса и этим правилом
.pricing table tr td:last-child
ищет таблицу, содержащуюся в элементе с parent
классом. Это, безусловно, три разных правила
Необходимость указать элемент/класс в ваших селекторах зависит от того, насколько конкретно ваше правило должно быть, если вам нужно переопределить предыдущее правило или нет. В качестве правила большого пальца я предлагаю вам начать определение более простых (более коротких) правил и повысить их специфичность до тех пор, пока стиль не будет применен.
table .pricing
Указывает, что селектор применяется к элементу с классом. ЦЕНА ВНУТРИ любой таблицы.
table.pricing (no space)
Указывает, что выбранный элемент является таблицей С классом.pricing.