【发布时间】:2015-12-01 19:47:21
【问题描述】:
我正在尝试使用 CSS 过渡在我的一个页面上添加滑动下划线(在 hover 上,下划线从左到右滑入)。我一次在多个li 元素上使用它:
#menu li{
border-bottom:2px solid transparent;
width:0px;
transition:0.8s ease;
white-space:nowrap;
}
#menu li:hover{
border-bottom:2px solid #FFE5C7;
width:100%;
}
这有效,下划线淡入并滑过以在列表项下划线。问题是列表项文本的长度不同,并且由于某种原因,在将鼠标悬停在较长的文本字符串上,然后移动到较短的 li 后,过渡会将下划线增加到前一个项目的长度,并且然后回弹。如果这是有道理的......示例:
首页
联系我
如果我首先将鼠标悬停在“联系我”上,下划线会起作用。如果我然后移动到“主页”,则下划线会增长到“联系我”下划线的长度,然后又折回。不知道为什么,还没有找到有效的解决方案。我不想将宽度设置为特定数量的像素,我只希望文本本身带有下划线。
【问题讨论】:
标签: css css-transitions sliding underline