【发布时间】:2014-03-10 14:42:38
【问题描述】:
我有一个伪元素,它在导航栏中标记用户当前的选择。它是一个向上的小三角形,是 Font-Awesome 的图标字体。 here's a jsFiddle DEMO (您需要拉伸结果面板,以便所有内容都对齐)。
.subnav > ul > li.active > a:after {
position: relative;
text-align: center;
font-family: FontAwesome;
top: 25px;
right: 50%;
content: "\f0de";
color: #c1c1c1;
}
我添加了一些基本的 jQuery 函数来切换 .active 类,我想知道是否有办法为伪元素的过渡设置动画,使其水平移动到新位置。
我知道伪元素转换是一回事,但是搜索和谷歌搜索我找不到任何与我正在寻找的东西相似的东西。这甚至可能吗?
【问题讨论】:
-
是的,有一种方法,但 :after 元素应该给
- 而不是单个 li > a > i
-
现在页面加载时,小箭头属于第一个li>a>i,但是点击“users”会发生什么? :after 仍将在第一个 li 中。您应该将它移动到 ul 然后使用 javascript 来查看它需要去的确切位置(通过找到活动项目并将箭头转换到它的位置)
-
@JonasGrumann 我实际上正在用这个确切的解决方案构建一个演示 :)
-
好吧,那样的话我就不干了;)
-
但是,您不应该使用伪元素来实现这一点。只需添加一个绝对的
span,这将更容易处理。
标签: css pseudo-element