利用CSS实现导航栏中英文切换效果

作者:流萤

时间:2026-10-21

浏览:71

本文介绍如何使用纯CSS实现导航栏的中英文切换效果。核心思路是通过设置ul高度为li的一半并隐藏溢出内容,利用li悬停时改变margin-top值来展示不同语言文本,无需JavaScript即可实现交互。

文章目录

CSS导航栏中英文切换实现方案

实现思路如下:

首先,将ul容器的高度设置为li元素高度的一半,并设置样式为ul{overflow:hidden}以隐藏超出部分。

接着,定义li元素的悬停状态,当鼠标悬停时,通过设置li:hover{margin-top:-40px;}来向上移动元素,从而展示原本被隐藏的中英文切换内容。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>中英切换导航条</title>
<style type="text/css">
*{padding:0; margin:0;}
li{ list-style:none; }
a{ text-decoration:none;}
.nav{ width:100%; height:40px; background:#222; margin-top:100px; overflow:hidden;}
.list{ width:1000px; height:40px; margin:0 auto;}
.list li{ float:left;}
.list li a{ display:block; transition:0.3s;}
.list b,.list i{ display:block; padding:0 30px; color:#aaa; line-height:40px; text-align:center;}
.list b{ font-weight:100}
.list i{ font-style:normal; background:#333; color:#fff;}
.list a:hover{ margin-top:-40px;}
</style>
</head>
<body>
<div class="nav">
 <ul class="list">
 <li>
  <a href="#">
  <b>Index</b>
  <i>首页</i>
  </a>
 </li>
 <li>
  <a href="#">
  <b>course</b>
  <i>职业课程</i>
  </a>
 </li>
 <li>
  <a href="#">
  <b>study</b>
  <i>就业学习</i>
  </a>
 </li>
 <li>
  <a href="#">
  <b>BBS</b>
  <i>社区</i>
  </a>
 </li>
 <li>
  <a href="#">
  <b>JiKe+</b>
  <i>发现+</i>
  </a>
 </li>
 </ul>
</div>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章