html - 如何仅使用 css 在移动设备上实现按钮单击效果
问题描述
使用下面的代码,当点击示例元素时,示例会变大然后变小,这很好。但问题是,当我点击示例元素两次时,效果只会显示一次。
我知道那是因为示例元素仍然聚焦,所以动画没有被触发。
我想用css解决这个问题,我该怎么办?
.sample:hover, .sample:focus {
animation: phoneButtonEffect 0.2s linear;
}
@keyframes phoneButtonEffect {
50% {
transform: scale(1.1)
}
100% {
transform: scale(1)
}
}
解决方案
这可以通过 :active 伪类来实现。
看看这个:
.sample{
height: 10em;
width: 10em;
background-color: red;
transition: all .2s ease-in-out;
}
.sample:active {
transform: scale(1.1);
transition: .1s;
}
<div class="sample">
</div>
第一个.2s值是转换恢复正常所需的时间,第二个值.1s在 :active 选择器中,是 .sample 元素达到所需状态的时间,在这种情况下,缩放(1.1)。
推荐阅读
- react-native - 如何通过向上滚动使用 react-native-gifted-chat 加载更多消息?
- javascript - TS7016:TypeScript 看不到普通的 .js 文件
- python - 使用 .apply 替换 for 循环的 Python 数据框
- python - 如何在导入 astroplan 模块时处理 OldEarthOrientationDataWarning 警告以更新 IERS 表(python 3)
- node.js - 读取第三方文件 - 压缩它 - 发送 base64 编码数据 - 不保存任何内容
- postgresql - 从 qgis 3.4.5 和 3.6 重复询问密码以连接到 postgresql 10
- google-chrome - Visual Studio 2019 kestrel 调试浏览与 Chrome 切换到端口 5000 而不是端口 5001
- android - 使用 ViewModel 的构造函数依赖注入
- c# - c# OpenQA.Selenium.WebDriverException : for chromedriver.exe (nuget pkg version 2.46.0)
- python - 在函数名称上拆分 SQL 语句,但在 Python 中保留分隔符