2012-03-03 2 views
2

Я пытаюсь установить некоторые CSS, чтобы работать с IE7 и IE8, и я застрял в селекторе: not().Как CSS выбрать все ячейки, кроме последнего в IE7/8?

Мне нужно выбрать все ячейки заголовка таблицы, кроме последнего. Я в настоящее время использую это:

th:not(:last-child) 

который терпит неудачу на IE7 + 8.

Есть ли какие-либо методы обхода CSS?

Спасибо за некоторые подсказки!

ответ

4

как вы спросите его:

все ячейки заголовка таблицы, за исключением последнего

может означать:

  • последний th таблицы, где бы он мог
  • последний элемент строки (предположительно последний из thead>tr - и там ку ld быть более одного tr),
  • последние th в каждой строке.

Ни один из этих случаев не может быть решена с помощью CSS, понятном IE7/8

EDIT (соответственно никакого решения в CSS вообще, th:last-child и th:last-of-type.): В одном случае не может быть решением. Если вы точно знаете, сколько th элементов есть в каждой строке, вы можете выбрать четвертый с th ~ th ~ th ~ th.
См. http://reference.sitepoint.com/css/generalsiblingselector для ошибок IE7/8 (без комментариев).
Это зависит от вас, чтобы изменить этот селектор, если в строке есть только th (также будет выбран селектор +) или если есть @colspan или @rowspan атрибуты (количество элементов в строке! = Количество столбцов).

+1

Вы правы, я мог бы быть более конкретным. Это фактически последняя ячейка в аде с несколькими строками, увы * thead th: not (: last-child) *. – frequent

+0

ах. никогда не слышал о ~. Круто. Давайте попробуем – frequent

+0

@frequent. Это было наиболее вероятно :), но да, это труднее объяснить эти вещи в писаниях, чем коллеге с помощью зрения и пальца на экране. :) BTW, пожалуйста, см. Мое редактирование, один случай можно решить только с помощью CSS – FelipeAls

1

Я решил это, добавив дополнительный класс для последних элементов в генераторе кода. Нет инструментов для IE8,7 и старше.

+0

hm. это то, чего я боялся. – frequent

1

Вы не можете сделать это с чистым css. Вы можете присвоить класс последнему th в своем HTML-коде, или вы можете использовать JavaScript для этого selectivizr. Selectivizr поддерживает все css3 & css2 селектора для IE более ранняя версия

Смежные вопросы