html - 同一元素上的转换和变换,由不同的父元素触发

标签 html css

我有一个带有链接的 UL、LI。

LI 右侧还有一个箭头圆圈。稍后将是一个子导航。


我希望箭头在悬停 LI 时变大(有效),并在悬停箭头本身时旋转(仅起作用一点)。

不幸的是,当悬停 LI 并移动到箭头时,只会触发生长。当直接悬停箭头时,会触发旋转。所以我确信 CSS 属性是正确的,但组合在某种程度上不是正确的。

这是相关代码:

li:hover .arrow {
  transition : 0.3s linear;
  transform : scale( 1.5 );
}
.arrow-wrap:hover .arrow {
  transition : 0.6s linear;
  transform : rotate(360deg);
}

要查看模型 html 版本,请访问此 jsFiddle: https://jsfiddle.net/csf3wwjn/1/

谁能告诉我,当第一次移动到 LI 时,旋转不会被触发?我不太喜欢整个 CSS3 动画,我什至不知道要搜索什么。

谢谢!

最佳答案

第二个变换规则覆盖第一个,您应该与旋转规则一起定义缩放规则

/* interesting css */
li:hover .arrow {
  transition : 0.3s linear;
  transform: scale( 1.5 ) rotate(0deg);
}
.arrow-wrap:hover .arrow {
  transition : 0.6s linear;
  transform: scale( 1.5 ) rotate(360deg);
}

演示:https://jsfiddle.net/csf3wwjn/5/

或者,正如 @Harry 指出的,您可以旋转 .arrow-wrap 元素

/* interesting css */
li:hover .arrow {
  transition : 0.3s linear;
  transform: scale( 1.5 );
}
.arrow-wrap:hover {
  transition : 0.6s linear;
  transform: rotate(360deg);
}

演示:https://jsfiddle.net/csf3wwjn/6/

关于html - 同一元素上的转换和变换,由不同的父元素触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35180021/

相关文章:

javascript - 使用 jQuery 获取 DOM 加载后添加的元素的值

css - 匹配 Bootstrap -xs、-sm 等修饰符的媒体查询?

css - 用作页面向下滚动的箭头链接

html - 我的 html 页面顶部出现奇怪的 "|"?

python - 获取 span 标签内 <a> 内的数据

javascript - 按下回车键不会在 Mozilla 中打开下拉菜单

HTML5 Canvas 动画和旋转

html - 在单页应用程序中将页脚设置为底部

css - 当 child 在位置 :absolute in Angular2 时变长时更改父 div 大小

c# - 将 Razor Web App 作为中间件插入 Web Api 元素时,不会加载 css