Лучшее, что вы можете получить с помощью простых стилей, это что-то вроде:
.likeabutton {
text-decoration: none; font: menu;
display: inline-block; padding: 2px 8px;
background: ButtonFace; color: ButtonText;
border-style: solid; border-width: 2px;
border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
}
.likeabutton:active {
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
}
(возможно, с каким-то исправлением, чтобы IE6-IE7 не рассматривал фокусированные кнопки как «активные».)
Это не обязательно будет выглядеть точно так же, как кнопки на родном рабочем столе;Действительно, для многих тем рабочего стола невозможно воспроизвести внешний вид кнопки в простом CSS.
Однако вы можете попросить браузер использовать встроенный рендеринг, который лучше всего:
.likeabutton {
appearance: button;
-moz-appearance: button;
-webkit-appearance: button;
text-decoration: none; font: menu; color: ButtonText;
display: inline-block; padding: 2px 8px;
}
К сожалению, как вы уже догадались по префиксам браузера, это функция CSS3 , которая пока не поддерживается повсеместно.В частности, IE и Opera будут игнорировать это.Но если вы включите другие стили в качестве резервной копии, браузеры, которые поддерживают appearance
, удаляют это свойство, предпочитая явные фоны и границы!
Что вы можете сделать, это использовать стили appearance
, как указано выше по умолчаниюи исправления JavaScript, если необходимо, например ::
<script type="text/javascript">
var r= document.documentElement;
if (!('appearance' in r || 'MozAppearance' in r || 'WebkitAppearance' in r)) {
// add styles for background and border colours
if (/* IE6 or IE7 */)
// add mousedown, mouseup handlers to push the button in, if you can be bothered
else
// add styles for 'active' button
}
</script>