Ответ 1
Используйте псевдо-класс :active
в вашем css, затем добавьте теги ontouchstart=""
и onmouseover=""
в тег body.
Следующий код извлекается из моего сайта, в котором у меня есть кнопки, которые становятся меньше и светятся белыми, когда они зависают (на ПК) или удерживаются (на сенсорных устройствах).
<style>
.boxbutton:active{
-webkit-transform:scale(0.9);
-moz-transform:scale(0.9);
-ms-transform:scale(0.9);
-o-transform:scale(0.9);
transform:scale(0.9);
-webkit-box-shadow:0px 0px 20px #FFF;
-moz-box-shadow:0px 0px 20px #FFF;
-o-box-shadow:0px 0px 20px #FFF;
box-shadow:0px 0px 20px #FFF;
}
</style>
<body ontouchstart="">
<a href="#teamdiv">
<div class="boxbutton" id="teambb">
<h5>Team</h5>
</div>
</a>
</body>
Следующие изменения больше не актуальны, потому что я удалил оригинальные неверные инструкции, но если вы были здесь до этого, они могут быть полезны
EDIT: Я обнаружил, что он работает более надежно, если вместо того, чтобы помещать ontouchstart=""
в каждую ссылку, поместите его в тег <body>
. Итак, ваш тег тела должен выглядеть следующим образом <body ontouchstart="">
, и ваши ссылки выглядят как
<a href="#teamdiv">
<div class="boxbutton" id="teambb">
<h5>Team</h5>
</div></a>
EDIT 2: Я выяснил, что вместо копирования вашего CSS и использования запросов размера экрана для рабочего стола просто добавьте `onmouseover = "" в тег body также, так что: active pseudo класс будет вызываться мышью на рабочем столе и касанием на мобильном телефоне. Если вы это сделаете, вы можете просто игнорировать бессвязные медиа-запросы.