html - 你能把一个很棒的字体图标放在一个之前,它已经在选择器上有一个::before 类吗?

标签 html css transition

我有一个带有 4 个链接的菜单栏。我想要在我的链接之前有一个不同的字体很棒的图标,同时仍然有我的边框悬停效果。似乎当我在元素上放置另一个类或 id 时,超赞字体图标仍然没有生效。我现在想出的唯一解决方案是让每个人都有自己的类(class),专门针对他们;但这听起来需要更多的代码,而且我相信我仍然可以实现我打算做的事情。

我注意到了

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>

关于html - 你能把一个很棒的字体图标放在一个之前,它已经在选择器上有一个::before 类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51460006/

相关文章:

css - 过渡 CSS 伪元素

java - 我想找到以 <br> 分隔的日期的 xpath

java - 无法获取 session 属性(新 session 正在 JSP 中创建)为什么?

iphone CSS 帮助

flutter - flutter 平滑的颜色过渡容器

javascript - Material-ui:ReactTransitionGroup 未定义

javascript - 通过JavaScript控制单个元素的多个关键帧动画

html - 重置或忽略 CSS 中的(最大)宽度

html - 如何在 html/css 中对齐 'a' 元素

html - 拉伸(stretch)输入字段高度以填充表格单元格