作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我使用我在 CodePen 上找到的一些 CSS 代码在我的网站菜单上有一个漂亮的下划线,所以它没有使用应用于链接的常规下划线。
目前,它设置为悬停时带有轻微动画效果的下划线,但我希望它在事件而不是悬停时下划线。我尝试过使用多种方法解决它,但由于它不完全是我的下划线代码,所以有些部分让我感到困惑。
有人可以帮忙吗?如果它看起来一团糟,我深表歉意,如果需要,我可以获取其他代码。非常感谢。
这是我的代码:
HTML:
<nav>
<ul>
<li class="item"><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="services.html">Services</a></li>
<li><a href="faq.html">FAQ</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
CSS(来自codepen的代码):
a:link {
text-decoration: none!important;
}
nav li a {
color: #fff;
font-size: 14px;
position: relative;
letter-spacing: 2px;
text-transform: uppercase;
-webkit-transition: all 0.4s ease;
transition: all 0.4s ease;
padding: 15px;
}
a:after {
content: "";
position: absolute;
height: 2px;
background-color: white;
width: 0;
left: 50%;
bottom: 0;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
-webkit-transition: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) all;
transition: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) all;
}
a:hover {
color: tomato;
}
a:hover:after {
width: 100%;
}
最佳答案
只需创建一个与悬停样式具有相同样式的类即可。
打开这个:
a:hover:after {
width: 100%;
}
进入这个:
a.active:after {
width: 100%;
}
然后只需将类添加到a
:
<li class="item"><a class="active" href="index.html">Home</a></li>
ul {
padding: 0;
margin: 0;
list-style:none;
}
ul li {
float: left;
}
a:link {
text-decoration: none !important;
}
nav li a {
font-size: 14px;
position: relative;
letter-spacing: 2px;
text-transform: uppercase;
-webkit-transition: all 0.4s ease;
transition: all 0.4s ease;
padding: 15px;
}
a:after {
content: "";
position: absolute;
height: 2px;
background-color: red;
width: 0;
left: 50%;
bottom: 0;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
-webkit-transition: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) all;
transition: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) all;
}
a:hover {
color: tomato;
}
/*a:hover:after {
width: 100%;
}*/
a.active:after {
width: 100%;
}
<nav>
<ul>
<li class="item"><a class="active" href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="services.html">Services</a></li>
<li><a href="faq.html">FAQ</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
关于html - 我希望我的菜单在事件时带有下划线,而不仅仅是悬停。那可能吗? (不是常规的下划线代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50142735/
我是一名优秀的程序员,十分优秀!