Запутанная таблица CSS

0

У меня есть элемент 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

2 ответа

0
Лучший ответ

если этот селектор работает

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 классом. Это, безусловно, три разных правила

Необходимость указать элемент/класс в ваших селекторах зависит от того, насколько конкретно ваше правило должно быть, если вам нужно переопределить предыдущее правило или нет. В качестве правила большого пальца я предлагаю вам начать определение более простых (более коротких) правил и повысить их специфичность до тех пор, пока стиль не будет применен.

0
table .pricing 

Указывает, что селектор применяется к элементу с классом. ЦЕНА ВНУТРИ любой таблицы.

table.pricing (no space)

Указывает, что выбранный элемент является таблицей С классом.pricing.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню