html - 如何为输入边框设置动画并使其从中心扩展?

标签 html css

我正在尝试为我的输入按钮 添加线性效果。当用户将鼠标悬停在按钮上时,我希望底部边框线从中心开始,然后同时向右和向左移动。因此,当用户将鼠标悬停在它上面时,该线会从中心扩展到 Angular 落。

我设法添加了一条悬停线,但它无法正常工作。我环顾四周,只能找到有关标题或标签的问题,而不是按钮。

#btn {
  margin: 10px;
  padding: 20px;
  width: 470px;
  height: 50px;
  border: 2px solid #f7f7f7;
  text-align: center;
  text-transform: uppercase;
  position: relative;
}

#btn:hover {
  cursor: pointer;
  border-bottom: 2px solid red;
  transition: 0.3s;
}
<input id="btn" type="submit" name="" value="Click">

最佳答案

不能使用伪元素,因为它是一个输入标签,所以你可以尝试使用 linear-gradient 作为背景的解决方案:

#btn {
  margin: 10px;
  padding: 20px;
  width: 470px;
  height: 50px;
  border: 2px solid #f7f7f7;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  background: 
    linear-gradient(red, red) bottom / 0% 2px no-repeat
    #ccc;
  transition: 1s;
}

#btn:hover {
  background-size: 100% 2px;
}
<input id="btn" type="submit" name="" value="Click">

关于html - 如何为输入边框设置动画并使其从中心扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48840743/

相关文章:

html - 音频标签自动播放在安卓浏览器中不起作用

javascript - 强制性虚拟 slider - 动态使用 jQuery

JQuery 子菜单滑出

css - 如何创建网格/平铺 View ?

css - Bootstrap 中文本框的正常宽度

javascript - 将全 Angular slider 缩放到浏览器底部

html - Bootstrap 导航栏以特定宽度创建两行

php - PHP、HTML 或 XML 中的 %S 是什么意思?

javascript - 自动播放视频 IPhone 低功耗模式不起作用

php - 在 php 中使用循环创建 css/html 元素的想法