"hover" 无法正常工作
The "hover" not work properly
我的项目 div "transition"\"hover" 有问题:
Comverese.
在 "SUCCESS STORIES" 部分。当你悬停 div 时,它会上升 o.k,但当你将鼠标移动到 div 时它不会停留。
问题是什么?
.story1{
position: absolute;
width: 22rem;
height: 12rem;
z-index: 9;
background: white;
padding: 1rem;
-webkit-transition:transform .6s ease-out;
-moz-transition:transform .6s ease-out;
-ms-transition:transform .6s ease-out;
-o-transition:transform .6s ease-out;
transition:transform .6s ease-out;
}
.story1:hover{
-webkit-transform:translate(0px,-200px);
-moz-transform:translate(0px,-200px);
-ms-transform:translate(0px,-200px);
-o-transform:translate(0px,-200px);
transform:translate(0px,-200px);
}
问题是您的 div 在翻译后不再悬停。 div 向上移动,您现在将鼠标悬停在下方的 div(即 .quote
div)-> 故事 div 返回下方。
解决这个问题的一种方法是使用一点 javascript 而不是仅仅依赖 CSS。在 mouseenter 上添加特定的 class 并在您离开下面的 div 时将其删除。
类似于以下内容(请注意 JavaScript 有点简单,应该改进以适用于每个故事)。
CSS:
.story1.translated {
-webkit-transform:translate(0px,-200px);
-moz-transform:translate(0px,-200px);
-ms-transform:translate(0px,-200px);
-o-transform:translate(0px,-200px);
transform:translate(0px,-200px);
}
JS :
var story1 = document.getElementsByClassName("story1")[0];
var blockquote = document.getElementsByClassName("quote")[0];
story1.addEventListener("mouseenter", function () {
story1.className += " translated";
}
blockquote.addEventListener("mouseleave", function () {
story1.className = story1.className.replace(" translated", "");
}
编辑
纯粹的 CSS 解决方案是将 :hover
部分移动到 .story
并在它出现时相应地设置 .story1
样式。如下:
.story:hover .story1{
-webkit-transform:translate(0px,-200px);
-moz-transform:translate(0px,-200px);
-ms-transform:translate(0px,-200px);
-o-transform:translate(0px,-200px);
transform:translate(0px,-200px);
}
当我在本地更改它以在您的站点上试用时,这似乎工作得很好。
同样的更改也可以应用于 .float-icon:hover
。将其更改为 .story-icon:hover .float-icon
会产生奇迹
我的项目 div "transition"\"hover" 有问题: Comverese.
在 "SUCCESS STORIES" 部分。当你悬停 div 时,它会上升 o.k,但当你将鼠标移动到 div 时它不会停留。
问题是什么?
.story1{
position: absolute;
width: 22rem;
height: 12rem;
z-index: 9;
background: white;
padding: 1rem;
-webkit-transition:transform .6s ease-out;
-moz-transition:transform .6s ease-out;
-ms-transition:transform .6s ease-out;
-o-transition:transform .6s ease-out;
transition:transform .6s ease-out;
}
.story1:hover{
-webkit-transform:translate(0px,-200px);
-moz-transform:translate(0px,-200px);
-ms-transform:translate(0px,-200px);
-o-transform:translate(0px,-200px);
transform:translate(0px,-200px);
}
问题是您的 div 在翻译后不再悬停。 div 向上移动,您现在将鼠标悬停在下方的 div(即 .quote
div)-> 故事 div 返回下方。
解决这个问题的一种方法是使用一点 javascript 而不是仅仅依赖 CSS。在 mouseenter 上添加特定的 class 并在您离开下面的 div 时将其删除。
类似于以下内容(请注意 JavaScript 有点简单,应该改进以适用于每个故事)。
CSS:
.story1.translated {
-webkit-transform:translate(0px,-200px);
-moz-transform:translate(0px,-200px);
-ms-transform:translate(0px,-200px);
-o-transform:translate(0px,-200px);
transform:translate(0px,-200px);
}
JS :
var story1 = document.getElementsByClassName("story1")[0];
var blockquote = document.getElementsByClassName("quote")[0];
story1.addEventListener("mouseenter", function () {
story1.className += " translated";
}
blockquote.addEventListener("mouseleave", function () {
story1.className = story1.className.replace(" translated", "");
}
编辑
纯粹的 CSS 解决方案是将 :hover
部分移动到 .story
并在它出现时相应地设置 .story1
样式。如下:
.story:hover .story1{
-webkit-transform:translate(0px,-200px);
-moz-transform:translate(0px,-200px);
-ms-transform:translate(0px,-200px);
-o-transform:translate(0px,-200px);
transform:translate(0px,-200px);
}
当我在本地更改它以在您的站点上试用时,这似乎工作得很好。
同样的更改也可以应用于 .float-icon:hover
。将其更改为 .story-icon:hover .float-icon
会产生奇迹