这是怎么做到的? (JavaScript 还是其他?)

发布于 2024-09-30 06:42:17 字数 223 浏览 0 评论 0原文

我不知何故找到了这个网页,并被导航栏惊呆了。 www.webdesignerwall.com

当您将鼠标放在“主页”、“关于”或“工作”菜单选项上时,您会在上面的棕色字段中看到令人惊叹的翻转效果。我非常喜欢这个,也有类似的想法,但作为一个业余爱好者,我真的不能说那是什么类型的编程。我想说它本身使用 Ajax 或 JavaScript,但我希望你们中的一些人向我解释它,甚至分享一些类似的示例。

谢谢

I somehow found this webpage and was absolutely stunned by the navigation bar. www.webdesignerwall.com

When you put your mouse over "Home", "About" or "Jobs" menu options, you get that awesome rollover effect in the brown field above. I like that very much and had a similar idea, but being an amateur, I can't really say what type of programming is that. I would say it uses Ajax or JavaScript per se, but I'd like some of you to explain it to me, or even share some similar examples.

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

动次打次papapa 2024-10-07 06:42:17

这是由 CSS 完成的。它将额外的 放置到每个 链接元素中。使用 CSS 可以隐藏并正确定位在菜单元素上方(absolute)。当其中一个链接悬停时,新样式将应用于正确的 ,使其可见。

HTML

<ul id="nav"> 
  <li id="nav-home"><a href="/>Home<span></span></a></li> 
  <li id="nav-about"><a href="/about/">About<span></span></a></li> 
  <li id="nav-jobs"><a href="/jobs/">Jobs<span></span></a></li> 
</ul> 

CSS

#nav span {
 display: none;      /* hidden by default */
 position: absolute;
}

#nav a:hover span {  /* link:hover */
 display: block;     /* makes one of them visible */
}

#nav-home span {
 background: url(images/home-over.gif) no-repeat;
 width: 168px;   /* each has it's own image */
 height: 29px;   /* dimensions */
 top: -30px;     /* and coordinates */
 left: 35px;
}

#nav-about span {
 background: url(images/about-over.gif) no-repeat;
 width: 157px;
 height: 36px;
 top: -36px;
 left: 90px;
}
/* ... */

This is done by CSS. It places an extra <span> into every <a> link element. With CSS <span>s are hidden and positioned correctly above the menu elements (absolute). When one of the link is hovered the new style applies to the correct <span> which makes it visible.

HTML

<ul id="nav"> 
  <li id="nav-home"><a href="/>Home<span></span></a></li> 
  <li id="nav-about"><a href="/about/">About<span></span></a></li> 
  <li id="nav-jobs"><a href="/jobs/">Jobs<span></span></a></li> 
</ul> 

CSS

#nav span {
 display: none;      /* hidden by default */
 position: absolute;
}

#nav a:hover span {  /* link:hover */
 display: block;     /* makes one of them visible */
}

#nav-home span {
 background: url(images/home-over.gif) no-repeat;
 width: 168px;   /* each has it's own image */
 height: 29px;   /* dimensions */
 top: -30px;     /* and coordinates */
 left: 35px;
}

#nav-about span {
 background: url(images/about-over.gif) no-repeat;
 width: 157px;
 height: 36px;
 top: -36px;
 left: 90px;
}
/* ... */
抹茶夏天i‖ 2024-10-07 06:42:17

这种效果也可以使用 CSS 来实现,无需使用 JavaScript:

CSS 图像翻转

This effect can also be accomplished with CSS without JavaScript:

CSS Image rollovers

宫墨修音 2024-10-07 06:42:17

这只是CSS。

每个链接都有一个 id 属性,每个 id 都有自己的 CSS 规则,该规则会更改 hover< 时导航栏的 background /代码>。

It's just CSS.

Each link has an id attribute, and each id has its own CSS rule which changes the background of the nav bar on hover.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文