将鼠标悬停在菜单项上时如何为其添加下划线?
How to underline a menu item when hover over it?
我现在正在使用 WordPress 构建以下网站:https://shaveiceberlin.de
当我将鼠标悬停在菜单项上时,如何获得下划线效果,例如在本网站上:https://snocks.com ?
我当前的css代码:
#site-header.center-header #site-navigation-wrap .middle-site-logo:hover img {
-moz-opacity: 1;
-webkit-opacity: 1;
opacity: 1;
}
感谢可爱的团队帮助我!
亲切的问候,
乔纳斯
您可以结合使用伪选择器和动画 transform
属性。 transform-origin
很重要,因为它决定了动画的来源和 returns 的形式。它默认为 center
这就是我将其覆盖为 left
.
的原因
.menu a {
position: relative;
text-decoration: none;
font-size: 1.5rem;
}
.menu a::after {
position: absolute;
content: "";
width: 100%;
height: 3px;
top: 100%;
left: 0;
background: #ff7000;
transition: transform 0.5s;
transform: scaleX(0);
transform-origin: left;
}
.menu a:hover::after {
transform: scaleX(1);
}
<a href="#">Plain link</a>
<nav class="menu">
<a href="#">Underline on hover or focus</a>
</nav>
我现在正在使用 WordPress 构建以下网站:https://shaveiceberlin.de
当我将鼠标悬停在菜单项上时,如何获得下划线效果,例如在本网站上:https://snocks.com ?
我当前的css代码:
#site-header.center-header #site-navigation-wrap .middle-site-logo:hover img {
-moz-opacity: 1;
-webkit-opacity: 1;
opacity: 1;
}
感谢可爱的团队帮助我! 亲切的问候, 乔纳斯
您可以结合使用伪选择器和动画 transform
属性。 transform-origin
很重要,因为它决定了动画的来源和 returns 的形式。它默认为 center
这就是我将其覆盖为 left
.
.menu a {
position: relative;
text-decoration: none;
font-size: 1.5rem;
}
.menu a::after {
position: absolute;
content: "";
width: 100%;
height: 3px;
top: 100%;
left: 0;
background: #ff7000;
transition: transform 0.5s;
transform: scaleX(0);
transform-origin: left;
}
.menu a:hover::after {
transform: scaleX(1);
}
<a href="#">Plain link</a>
<nav class="menu">
<a href="#">Underline on hover or focus</a>
</nav>