javascript - 如何正确使用 css @keyframes 和动画进行下拉菜单

标签 javascript html css

我在实现下拉菜单的 @keyframes 和动画时遇到问题。我已经为我的下拉菜单实现了闪烁动画。但是,当我打开下拉列表并尝试通过鼠标按下滚动时,滚动条无法正常工作,它没有与我的鼠标按下保持在一起。请检查代码片段并运行代码片段以了解问题。谢谢

@keyframes blink {
  50% {
    border-color: #fff;
  }
}

.blink {
  border: 3px solid #0061a0;
  font-weight: bolder;
  animation: blink 1s infinite;
  animation-iteration-count: infinite;
}
<select name="birthYear" class="blink">
  <option>YYYY</option>
  <option value="2022">2022</option>            
  <option value="2021">2021</option>            
  <option value="2020">2020</option>            
  <option value="2019">2019</option>            
  <option value="2018">2018</option>            
  <option value="2017">2017</option>
  <option value="2016">2016</option>  
  <option value="2015">2015</option>
  <option value="2014">2014</option>
  <option value="2013">2013</option>
  <option value="2012">2012</option>
  <option value="2011">2011</option>
  <option value="2010">2010</option>
  <option value="2009">2009</option>
  <option value="2008">2008</option>
  <option value="2007">2007</option>
  <option value="2006">2006</option>
  <option value="2005">2005</option>
  <option value="2004">2004</option>
  <option value="2003">2003</option>
  <option value="2002">2002</option>
  <option value="2001">2001</option>
  <option value="2000">2000</option>
  <option value="1999">1999</option>
  <option value="1998">1998</option>
  <option value="1997">1997</option>
  <option value="1996">1996</option>
  <option value="1995">1995</option>
  <option value="1994">1994</option>
  <option value="1993">1993</option>
  <option value="1992">1992</option>
</select>

最佳答案

您可以为包装器设置动画 <div>元素代替。

@keyframes blink {
  50% {
    border-color: #fff;
  }
}

.blink {
  border: 3px solid #0061a0;
  font-weight: bolder;
  animation: blink 1s infinite;
  animation-iteration-count: infinite;
}
<div class="blink" style="display: inline-block;">
<select name="birthYear"><option>YYYY</option><option value="2022">2022</option><option value="2021">2021</option><option value="2020">2020</option><option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option></select>
</div>

关于javascript - 如何正确使用 css @keyframes 和动画进行下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74871390/

相关文章:

javascript - 为什么 this.state.items.filter 从数组中删除一个项目

javascript - Materialise(框架)字符数

javascript - event.preventDefault() 在 mozilla 上不起作用

javascript - 使用浏览器控制台 (Chrome) 将表格数据从 HTML 页面导出到 CSV 文件

css - html5 datetime-local control - 如何隐藏秒数?

javascript - 单击按钮更新/重绘 Canvas

javascript - -> for 循环中的 -> 事件监听器中的函数可以有参数吗?

css - 即使调整窗口大小时,绝对定位的元素也居中

javascript - 使用javascript获取文件的目录

javascript - 如何获取拖动开始时的父级 ID?用户界面