导航列表项悬停和聚焦效果

CSSCSSBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探索CSS编程,并为导航项创建自定义悬停和聚焦效果。本实验的目的是教你如何使用CSS变换在你的网站上创建视觉上吸引人的悬停和聚焦效果。在本实验结束时,你将更好地理解如何利用CSS来增强你网站的用户体验。

导航列表项悬停和聚焦效果

虚拟机中已经提供了 index.htmlstyle.css

要为导航项创建自定义悬停和聚焦效果,请按以下方式使用CSS变换:

  1. 在列表项锚点处使用 ::before 伪元素来创建悬停效果。使用 transform: scale(0) 将其隐藏。
  2. 使用 :hover:focus 伪类选择器将伪元素过渡到 transform: scale(1) 并显示其彩色背景。
  3. 通过使用 z-index 防止伪元素覆盖锚点元素。

你可以在导航菜单中使用以下HTML代码:

<nav class="hover-nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</nav>

并应用以下CSS规则:

.hover-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.hover-nav li {
  float: left;
}

.hover-nav li a {
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  padding: 8px 12px;
  text-decoration: none;
  z-index: 0;
}

.hover-nav li a::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  background-color: #2683f6;
  z-index: -1;
  transform: scale(0);
  transition: transform 0.5s ease-in-out;
}

.hover-nav li a:hover::before,
.hover-nav li a:focus::before {
  transform: scale(1);
}

请点击右下角的“Go Live”以在端口8080上运行Web服务。然后,你可以刷新“Web 8080”标签页来预览网页。

总结

恭喜你!你已经完成了“导航列表项悬停和聚焦效果”实验。你可以在LabEx中练习更多实验来提升你的技能。

您可能感兴趣的其他 CSS 教程