: после псевдо не принимая во внимание направление (rtl)? (Fire Fox) - PullRequest
5 голосов
/ 03 января 2012

У меня есть этот CSS, чтобы поставить значок после каждой внешней ссылки:

a[target="_blank"]:after {
    background: url("images/external_icon.png") 0 0 no-repeat;
    border: 0 none;
    content: "";
    padding: 0 14px 0 0;
}

Если вместо этого вместо :before значок появится вместо ссылки.Пока все хорошо.

Но в моей версии сайта справа налево при использовании direction: rtl; значок все равно появляется справа от элемента, а не «переворачивается» наДругая сторона.Изменение на :before все равно заставит значок появиться справа от элемента.

Это известная ошибка FF?Есть ли другое решение?(Отлично работает в Chrome)

Ответы [ 2 ]

1 голос
/ 04 января 2012

Поведение Firefox кажется правильным: рендеринг :after должен быть таким же, как рендеринг пустого промежутка с теми стилями, вставленными в конец a[target="_blank"].Если вы попробуете это, вы получите идентичное поведение в Chrome и Firefox, и оно соответствует поведению Firefox для :after.

. Возможно, вы захотите отправить ошибку WebKit.

1 голос
/ 03 января 2012

Хорошо, так что я нашел решение. Сделайте вместо этого встроенный блок.

display: inline-block;
height: 13px;
width: 13px;

Простое решение, но добраться не всегда так просто.

Я все еще чувствую, что css из вопроса может быть ошибкой браузера?

...