Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.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
Javascript 悬停时显示元素_Javascript_Css_Reactjs_Framer Motion - Fatal编程技术网

Javascript 悬停时显示元素

Javascript 悬停时显示元素,javascript,css,reactjs,framer-motion,Javascript,Css,Reactjs,Framer Motion,实现持久效果的最佳方法是什么? 我认为帧运动whileHover属性是我最好的选择,但我误解了它的工作原理,我认为它可以像CSS动画那样输入from和to参数 我想在光标悬停在“页脚”上或达到某个视口高度时显示“页脚” gif中的内容是用css中的关键帧动画制作的 如果有任何关于如何构建这些东西的提示、指南和视频链接,我将不胜感激 提前感谢我相信,您只需使用CSS就可以实现确切的效果。这通常更可取,因为javascript会使代码膨胀,执行速度较慢 您可以在中看到实现此效果的方法 基本上,您可以

实现持久效果的最佳方法是什么? 我认为帧运动whileHover属性是我最好的选择,但我误解了它的工作原理,我认为它可以像CSS动画那样输入from和to参数

我想在光标悬停在“页脚”上或达到某个视口高度时显示“页脚”

gif中的内容是用css中的关键帧动画制作的

如果有任何关于如何构建这些东西的提示、指南和视频链接,我将不胜感激


提前感谢

我相信,您只需使用CSS就可以实现确切的效果。这通常更可取,因为javascript会使代码膨胀,执行速度较慢

您可以在中看到实现此效果的方法

基本上,您可以使用“hover”伪类进行美学更改,然后使用“transition”属性设置动画

在上面的提琴中,这是真正起作用的代码:

/*设置页脚元素的基本样式*/
页脚{
保证金:0自动;
宽度:200px;
变换:translateY(60px);
过渡:宽度1s,变换1s;
}
/*拥有一个内部子元素将产生你在gif中看到的“截断边界半径”效果*/
页脚内侧{
背景颜色:浅蓝色;
填充:3em;
边界半径:50%;
过渡:边界半径1s;
}
/*使用“hover”伪类进行更改*/
页脚:悬停{
变换:translateY(0px);
宽度:100%;
}
页脚:悬停。内部{
边界半径:0%;
}

请注意,我发布的fiddle只是一个关于如何构建此组件的提示,但它仍然缺少一些功能,例如页脚文本内容本身的处理(现在如果是多行的,它将无法很好地工作)和可访问性。

我相信,仅使用CSS就可以实现确切的效果。这通常更可取,因为javascript会使代码膨胀,执行速度较慢

您可以在中看到实现此效果的方法

基本上,您可以使用“hover”伪类进行美学更改,然后使用“transition”属性设置动画

在上面的提琴中,这是真正起作用的代码:

/*设置页脚元素的基本样式*/
页脚{
保证金:0自动;
宽度:200px;
变换:translateY(60px);
过渡:宽度1s,变换1s;
}
/*拥有一个内部子元素将产生你在gif中看到的“截断边界半径”效果*/
页脚内侧{
背景颜色:浅蓝色;
填充:3em;
边界半径:50%;
过渡:边界半径1s;
}
/*使用“hover”伪类进行更改*/
页脚:悬停{
变换:translateY(0px);
宽度:100%;
}
页脚:悬停。内部{
边界半径:0%;
}

请注意,我发布的fiddle只是一个关于如何构建此组件的提示,但它仍然缺少一些功能,例如页脚文本内容本身的处理(现在如果是多行的,它将无法正常工作)和可访问性。

请查看仅使用css的此解决方案:

*{
边际:0px;
填充:0px;
框大小:边框框;
字体系列:Segoe UI,无衬线;
}
.集装箱{
宽度:100vw;
高度:100vh;
}
.货柜干管{
宽度:80%;
高度:400px;
保证金:自动;
边界半径:30px;
显示器:flex;
证明内容:中心;
对齐项目:居中;
字号:3em;
字号:800;
颜色:白色;
背景:rgb(70,100,52);
}
.容器页脚{
宽度:100%;
显示器:flex;
证明内容:中心;
}
.容器页脚.展开{
宽度:200px;
高度:50px;
背景:皇家蓝;
边界半径:40px 40px 0;
位置:固定;
底部:0px;
显示器:flex;
证明内容:中心;
字号:1em;
颜色:白色;
过渡时间:1000ms;
}
.容器页脚.展开:悬停{
宽度:100%;
动画名称:调整大小;
动画持续时间:700ms;
高度:150像素;
边界半径:0;
}
@关键帧调整大小{
0% {
高度:50px;
边界半径:60px 60px 0;
}
50% {
高度:160px;
边界半径:90px 90px 0;
}
100%{高度:150px;}
}

这是你的主要饲料
^^^

仅使用css查看此解决方案:

*{
边际:0px;
填充:0px;
框大小:边框框;
字体系列:Segoe UI,无衬线;
}
.集装箱{
宽度:100vw;
高度:100vh;
}
.货柜干管{
宽度:80%;
高度:400px;
保证金:自动;
边界半径:30px;
显示器:flex;
证明内容:中心;
对齐项目:居中;
字号:3em;
字号:800;
颜色:白色;
背景:rgb(70,100,52);
}
.容器页脚{
宽度:100%;
显示器:flex;
证明内容:中心;
}
.容器页脚.展开{
宽度:200px;
高度:50px;
背景:皇家蓝;
边界半径:40px 40px 0;
位置:固定;
底部:0px;
显示器:flex;
证明内容:中心;
字号:1em;
颜色:白色;
过渡时间:1000ms;
}
.容器页脚.展开:悬停{
宽度:100%;
动画名称:调整大小;
动画持续时间:700ms;
高度:150像素;
边界半径:0;
}
@关键帧调整大小{
0% {
高度:50px;
边界半径:60px 60px 0;
}
50% {
高度:160px;
边界半径:90px 90px 0;
}
100%{高度:150px;}
}

这是你的主要饲料
^^^

非常酷,谢谢!真的很酷,谢谢!