2015-06-12 2 views
1

К сожалению, я застрял в работе с устаревшим кодом в IE9. Fun ...CSS: не псевдокласс не работает в IE9

Короче говоря, я клонировать маршрутный шаблон (скрытый) с помощью JQuery и применяя верхнюю границу для всех клонов кроме первого видимого (который на самом деле второго фактического потому шаблон скрыт).

Что я натолкнулся на то, что граница отображается в Chrome, FF и Opera, но не в IE9. I думаю Это потому, что я набираю несколько псевдоклассов, хотя, на мой взгляд, это не должно вызывать проблемы.

Я нацеливание на маршруты следующим образом:

#itinerary table.formTable:not(:nth-child(2)):after { 
    content: ""; 
    border-top: 1px solid #999999; 
    width: 100%; 
    position: relative; 
    margin-top: -130px; 
    margin-left: 17px; 
    display: block; 
    } 

В основном, применяются выше CSS для всех, кроме второго маршрута.

Вопрос: почему это происходит в IE9? Согласно can I use, псевдокласс поддерживается. Разве это потому, что я так много навязал этому правилу? Я в недоумении.

Вот как это должно выглядеть (Chrome):

enter image description here

Вот что происходит в IE9:

enter image description here

Вот крупным планом CSS от IE9 скриншот:

enter image description here

Любая помощь будет оценена по достоинству.

Спасибо!

+0

Не должно ': after' иметь двойную двоеточие? (':: after') Попробуйте это вместо этого. – RBarryYoung

+0

@RBarryYoung ': after' также разрешен из-за обратной совместимости. – Oriol

+0

@Oriol Да, но поддержка для него может быть непротиворечивой. – RBarryYoung

ответ

1

Расширенные аргументы не поддерживаются в IE9 для псевдо-класса: не

here являются документы по этому вопросу

Скорее всего вы можете использовать

#itinerary table.formTable:not(:nth-child(2)) 

но не

#itinerary table.formTable:not(:nth-child(2)):after 

К счастью, IE9 поддерживает conditional commenting s o вы можете написать резервную копию для IE9 и>

+0

Спасибо за вход, @HelloWorld. К сожалению #itinerary table.formTable: not (: nth-child (2)) не работает. Я попытался упростить его дальше: #itinerary table.formTable: после, но без везения. Hmm ... – Scott

+0

@scott попробуйте вернуться назад из #itinerary table.formTable: not (: last-child) в #itinerary table.formTable: not (#some_id) и #itinerary table.formTable: not (some_element).Документы говорят, что «базовая поддержка» предоставляется для «: not» и что «расширенные аргументы» (что кажется мне большим) не поддерживаются вообще. – HelloWorld

+0

ОК. Хорошее предложение. Мне тоже было интересно о расширенных аргументах. Документы предполагают, что они не поддерживаются в Chrome, FF, Opera и т. Д., Но они работают, тем не менее. Думаю, мне нужно исследовать «расширенные аргументы». :) Благодаря! – Scott

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