ИЕ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