Используйте после: и перед: селекторы в версиях 6 и 7 Internet Explorer - PullRequest
1 голос
/ 07 декабря 2011

Я использую хороший стиль мастера, упомянутый в этом блоге но, к сожалению, это не очень хорошо работает в IE, потому что, как упоминалось в блоге:

Для браузеров, которые не поддерживают: после /: before / nth-child, код не будет работать.

Так есть ли способ исправить эту проблему, чтобы заставить работать хорошо в браузере IE.

К вашему сведению, CSS:

#wizHeader li .prevStep
{
    background-color: #669966;
}
#wizHeader li .prevStep:after
{
    border-left-color:#669966 !important;
}
#wizHeader li .currentStep
{
    background-color: #C36615;
}
#wizHeader li .currentStep:after
{
    border-left-color: #C36615 !important;
}
#wizHeader li .nextStep
{
    background-color:#C2C2C2;
}
#wizHeader li .nextStep:after
{
    border-left-color:#C2C2C2 !important;
}
#wizHeader
{
    list-style: none;
    overflow: hidden;
    font: 18px Helvetica, Arial, Sans-Serif;
    margin: 0px;
    padding: 0px;
}
#wizHeader li
{
    float: left;
}
#wizHeader li a
{
    color: white;
    text-decoration: none;
    padding: 10px 0 10px 55px;
    background: brown; /* fallback color */
    background: hsla(34,85%,35%,1);
    position: relative;
    display: block;
    float: left;
}
#wizHeader li a:after
{
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-top: 50px solid transparent; /* Go big on the size, and let overflow hide */
    border-bottom: 50px solid transparent;
    border-left: 30px solid hsla(34,85%,35%,1);
    position: absolute;
    top: 50%;
    margin-top: -50px;
    left: 100%;
    z-index: 2;
}
#wizHeader li a:before
{
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-top: 50px solid transparent;
    border-bottom: 50px solid transparent;
    border-left: 30px solid white;
    position: absolute;
    top: 50%;
    margin-top: -50px;
    margin-left: 1px;
    left: 100%;
    z-index: 1;
}
#wizHeader li:first-child a
{
    padding-left: 10px;
}
#wizHeader li:last-child
{
    padding-right: 50px;
}
#wizHeader li a:hover
{
    background: #FE9400;
}
#wizHeader li a:hover:after
{
    border-left-color: #FE9400 !important;
}
.content
{
    height:150px;
    padding-top:75px;
    text-align:center;
    background-color:#F9F9F9;
    font-size:48px;
}

1 Ответ

1 голос
/ 07 декабря 2011

Элементы css до и после должны работать в ie8 и выше.

Для IE7 вы можете использовать что-то вроде Использовать IE7.js для добавления после и перед поддержкой псевдоэлементов.

Я бы рекомендовал использовать условный оператор для включения файла, например;

<!--[if IE 7]>
    insert script here
<![endif]-->

Для IE6 лично я не стал бы беспокоиться и просто грациозно деградировал.

Другой вариант - для использования ie-css3.js .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...