Почему text-indent не работает, если в его контейнере есть псевдоэлемент :before/:after? (FX/Опера)

Сегодня столкнулся с этой причудой.

http://jsfiddle.net/UJAjD/3/

Вы заметите, что в Firefox 7 и Opera в сером поле есть слово «Далее». CSS включает свойство text-indent, которое должно перемещать этот текст за пределы его контейнера. При просмотре этой страницы в IE или Chrome она отображается так, как должна. По крайней мере, так, как вы думаете, что это должно быть показано.

Это известная ошибка? Есть ли обходной путь?


person jkupczak    schedule 05.10.2011    source источник


Ответы (1)


Согласно спецификации text-indent влияет на текст в первой строке блока.

Проблема в том, что спецификация на самом деле не дает понять, содержит ли поле первой строки в этом случае блок или текст, и разные ПА интерпретируют спецификацию по-разному...

person Boris Zbarsky    schedule 05.10.2011
comment
Имеет смысл. Принимая это во внимание, все, что мне нужно сделать, это изменить :before на :after, чтобы это больше не было первой строкой. Спасибо. - person jkupczak; 05.10.2011