Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 动画CSS伪类_Html_Css - Fatal编程技术网

Html 动画CSS伪类

Html 动画CSS伪类,html,css,Html,Css,我试图创建一个搜索图标,当鼠标悬停在上面时,它会转换为输入。我使用伪类::after作为放大镜的手柄。基本上,当图标悬停在上方时,我希望控制柄平滑地消失。这里有一个链接到我的 正文{ 文本对齐:居中; } #放大镜{ 显示器:flex; 证明内容:中心; 高度:100px; 宽度:100px; 边界半径:100px; 边框:14px实心红色; 保证金:0自动; 利润上限:200px; 过渡:1s; } #放大镜{ 内容:“; 高度:50px; 宽度:14px; 背景色:红色; 变换:旋转(-4

我试图创建一个搜索图标,当鼠标悬停在上面时,它会转换为输入。我使用伪类
::after
作为放大镜的手柄。基本上,当图标悬停在上方时,我希望控制柄平滑地消失。这里有一个链接到我的

正文{
文本对齐:居中;
}
#放大镜{
显示器:flex;
证明内容:中心;
高度:100px;
宽度:100px;
边界半径:100px;
边框:14px实心红色;
保证金:0自动;
利润上限:200px;
过渡:1s;
}
#放大镜{
内容:“;
高度:50px;
宽度:14px;
背景色:红色;
变换:旋转(-45度);
位置:相对位置;
顶部:85px;
左:50px;
-webkit转换:1s;
-moz跃迁:1s;
-o-转变:1s;
过渡:1s;
}
输入{
显示:无;
边界:无;
宽度:70%;
字号:2.5em;
边界半径:40px;
}
输入:焦点{
大纲:无;
}
#放大镜:悬停{
宽度:300px;
}
#放大镜:悬停#放大镜::之后{
宽度:0px;
}
#放大镜:悬停输入{
显示:块;
}

向悬停状态添加一个
不透明度:0

#magnifying-glass:hover::after {
   transform: rotate(360deg);
   height: 0;
   opacity: 0;
}
演示:


一小条
正文{
文本对齐:居中;
背景:#fff;
}
#放大镜{
显示器:flex;
证明内容:中心;
高度:100px;
宽度:100px;
边界半径:100px;
边框:14px实心红色;
保证金:0自动;
利润上限:200px;
过渡:1s;
}
#放大镜{
内容:“;
高度:50px;
宽度:14px;
边界半径:10px;
背景色:红色;
变换:旋转(-45度);
位置:相对位置;
顶部:85px;
左:50px;
-webkit转换:1s;
-moz跃迁:1s;
-o-转变:1s;
过渡:1s;
}
输入{
显示:无;
边界:无;
宽度:70%;
字号:2.5em;
边界半径:40px;
}
输入:焦点{
大纲:无;
}
#放大镜:悬停{
宽度:300px;
}
#放大镜:悬停::后{
变换:旋转(360度);
身高:0;
不透明度:0;
}
#放大镜:悬停输入{
显示:块;
}

如果您希望它平稳消失,并且不太剧烈,请将下面的转换时间更改为以下时间

#magnifying-glass::after {
  content: "";
  height: 50px;
  width: 14px;
  border-radius: 10px;
  background-color: red;
  transform: rotate(-45deg);
  position: absolute;
  top: 88px;
  left: 100px;
  -webkit-transition: 2.5s;
  -moz-transition: 2.5s;
  -o-transition: 2.5s;
  transition: 2.5s;
}
为了使其更加平滑,您可以添加:

#magnifying-glass:hover::after {
   transform: rotate(360deg);
   height: 0;
   opacity: 0;
}

这是一个带有这些变化的代码笔

只是想知道为什么你有很多不需要的代码在那里?正如在关键帧中一样,它们似乎对他正在做的事情没有任何好处。你所说的不需要的代码是什么意思?我已经提供了一个例子,说明了它的作用以及为什么需要它。关键帧并没有给动画带来任何好处,他想要一个更平滑的动画,除非我读错了,过渡时间和不透明度会使它更平滑,你只需要在一个地方添加不透明度就可以了!谢谢你的提示。我以前也这么做过,但由于某些原因,它没有像预期的那样工作。这就是我使用关键帧的原因。我会更正答案的。而且你的票比我的票高。但最好在你的文章中举个例子。:)我刚刚添加了一个代码笔,但是我无法让手柄从它消失的位置显示回来,它默认在重新出现的中心。如果答案提供了帮助,请随意勾选复选标记以标记为answered@Jerad谢谢你的编辑,我错过了那一点:)嘿!没问题