Это меня тоже долго раздражало, но я нашел достойное решение.
Во-первых, вам понадобится какой-то способ нацеливания на конкретный браузер в вашем CSS.Вы можете использовать Modernizr или мой любимый маленький фрагмент кода из http://rog.ie/post/9089341529/html5boilerplatejs
<script>
var b = document.documentElement;
b.setAttribute('data-useragent', navigator.userAgent);
b.setAttribute('data-platform', navigator.platform );
</script>
Далее, в вашем HTML-документе, внутри вашей кнопки, добавьте тег <span>
, который содержит содержимое кнопки.Сделайте так, чтобы он хорошо смотрелся в дружественных браузерах, затем добавьте этот бит кода к стилям :active
кнопки в вашем CSS:
html[data-useragent*='Opera']
Вы можете заменить Opera
на любое имя браузера, а затем ввестиspan
на ваше усмотрение.
Это может выглядеть примерно так:
html[data-useragent*='Opera'] button:active span {
position: relative;
left: -1px;
top: -1px;
}
Это немного глупо и, вероятно, излишне для такой незначительной проблемы, но работает.Лучше всего, у вас есть точный контроль над всем.Вы даже можете настроить таргетинг только на машины с Windows, или iPad (с data-platform='iPad'
), или на конкретную версию браузера, например:
html[data-useragent*='Chrome/13.0']
Удачи!