ИЕ9 РТЛ фоне позиционирования
Скрипка: http://jsfiddle.net/bHRVe/
Для стрелки используется спрайт. Фоновое положение отлично в Firefox и IE8:

Однако направление RTL, похоже, сбрасывает IE9, стрелка больше не существует:

Если я изменю позиционирование с left -52px на right -52px, то он отображается правильно в IE9, но ломается в других браузерах.
Есть ли способ исправить это с помощью того же CSS? (без условных обозначений или хаки)
2 ответа:
Просто немного измените css:
.button span { background: url("http://i48.tinypic.com/16716yb.png") no-repeat scroll left -52px transparent; margin-right: 0.5em; direction: rtl; display: inline-block; width: 10px; height: 16px; }Живой пример . Протестировано и работает в IE9, Chrome, Firefox, Safari и Opera:)
Вот чистое css-решение вашей проблемы:
Css:
.button span { background: url("http://i48.tinypic.com/16716yb.png") no-repeat 0 -52px; margin-right: 0.5em; padding: 0 5px; direction: rtl; width:4px; height:15px; display:inline-block; }HTML:
Примечание: это хорошая практика, если вы ставите пробел (
) в пустой элемент, потому что некоторое время это помогает в совместимости браузера.<a class="button" href="#"> <b>تم, غزو عل جنوب</b> <br/> <u>ب ان. Testما وص</u> <span> </span> </a>Дополнительное Примечание: по умолчанию
<span>и<a>элементы являются встроенными элементами. мы должны сделать ихdisplay:block;илиdisplay:inline-block;, используя css в соответствии с нашей потребностью.В вашем случае вы можете также использовать
display:block;, но тогда вы нужно добавитьfloat:leftтакже, чтобы сделать пролет в нужном месте.Снимок экрана: IE9
