html - 你能把一个字体很棒的图标放在一个之前,它已经在选择器上有一个 ::before 类吗?
问题描述
我有一个带有 4 个链接的菜单栏。我想要一个不同的字体真棒图标在我的链接之前,同时仍然有我的边框悬停效果。似乎当我在元素上放置另一个类或 id 时,字体真棒图标仍然没有生效。我现在想出的唯一解决方案是让每个人都有自己的班级,专门针对他们;但这听起来像是更多的代码,我相信我仍然可以实现我打算做的事情。
我注意到
a#home .main-links {
content: "\f101"
visibility: visible doesnt work.
}
因此,总结一下我试图实现的是将“ICON”放在我的一个链接之前,同时仍然能够使用边框底部过渡。我也尝试过使用两个类。
a.main-links {
position: relative;
cursor: pointer;
padding: 8px 0;
color: #66fcf1;
text-decoration: none;
}
a.main-links:hover {
color: #45829e;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
a.main-links::before,
a::after {
content: "";
position: absolute;
height: 2px;
bottom: -2px;
background: #45829e;
width: 0%;
}
a.main-links::before {
left: 0;
font-size: 16px;
}
a.main-links::after {
right: 0;
background: #45829e;
transition: width 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}
a.main-links:hover:before {
background: #45829e;
width: 100%;
transition: width 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
a.main-links:hover:after {
background: transparent;
width: 100%;
transition: 0s;
}
<ul class="main-ul">
<li class="main-li">
<i class="fas fa-home">
<a id="home" class="main-links">home</a>
</i>
</li>
<li class="main-li">
<a class="main-links">resume</a>
</li>
<li class="main-li">
<a class="main-links">about</a>
</li>
</ul>
解决方案
您可以使用另一种技术进行边框过渡,然后可以使用伪元素。
这是一个使用渐变的想法:
.link {
font-size:30px;
padding-bottom:2px;
background-image:linear-gradient(#45829e,#45829e);
background-position:bottom left;
background-size:0% 2px;
background-repeat:no-repeat;
transition:
background-size 0.8s cubic-bezier(0.22, 0.61, 0.36, 1),
background-position 0s 0.8s;
}
.link:hover {
background-position:bottom right;
background-size:100% 2px;
}
.link:before {
content:""
}
<span class="link">Text</span>
推荐阅读
- android - LazyColumn 中的 Jetpack Compose 常规项目
- javascript - 使用管道和地图创建过滤器
- javascript - 正则表达式用除以 2 替换 "\n" 出现
- javascript - JavaScript Concat Unicode
- git - 如何从 GitHub 的主存储库中删除特定的分叉本地克隆?
- python - 如何使用烧瓶 mongoengine 中的引用填充查询?
- pandas - 如何将 pandas 多索引转换为表列和索引?
- python - 将 Docker 与 Python 单元测试相结合的最佳实践是什么?
- swift - SKPhysicsContact 没有用子弹接触敌人
- networking - 确定网络中的往返时间值