中英文切換導航選單實現詳解

admin發表於2018-09-09
分享一段程式碼例項,它實現了滑鼠懸浮中英文切換效果。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html><html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
* {
  padding: 0;
  margin: 0;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
}
.list {
  width: 1000px;
  height: 40px;
  overflow:hidden;
  background: #222;
  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>
<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>antzone</b>
      <i>螞蟻部落</i>
    </a>
  </li>
  <li>
    <a href="#">
      <b>BBS</b>
      <i>社群</i>
    </a>
  </li>
  <li>
    <a href="#">
      <b>aboutUs</b>
      <i>關於我們</i>
    </a>
  </li>
</ul>
</body>
</html>

滑鼠懸浮導航選單可以實現上下翻滾切換效果,下面介紹一下它的實現過程。

程式碼註釋:

[CSS] 純文字檢視 複製程式碼
* {
  padding: 0;
  margin: 0;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
}

進行簡單的初始化處理,當然上面的程式碼比較粗暴,在網上有很多優秀的程式碼,可以自行查詢。

[CSS] 純文字檢視 複製程式碼
.list {
  width: 1000px;
  height: 40px;
  overflow:hidden;
  background: #222;
  margin: 0 auto;
}

上面的程式碼設定導航選單容器元素的樣式。

高度是40px,同時設定了overflow:hidden,這樣超出此高度的內容會被隱藏。

[CSS] 純文字檢視 複製程式碼
.list li {
  float: left;
}

設定li元素為左浮動。

[CSS] 純文字檢視 複製程式碼
.list li a {
  display: block;
  transition: 0.3s;
}

將連結a元素設定為塊級元素,這樣裡面就可以巢狀塊級元素了。

並且通過transition屬性設定連結a元素的會以動畫方式來設定屬性的變化。

[CSS] 純文字檢視 複製程式碼
.list b, .list i {
  display: block;
  padding: 0 30px;
  color: #aaa;
  line-height: 40px;
  text-align: center;
}

設定兩類元素為塊級元素。

設定它們的行高是40px,如果只設定行高不設定高度,那麼高度和行高是相同的。

也就是說高度是40px,這兩種元素是上下排列的,總共高度是80px;又由於父元素的高度是40px,並且設定了超出隱藏,所以只會看到英文或者漢語其中的一種導航。

[CSS] 純文字檢視 複製程式碼
.list a:hover {
  margin-top: -40px;
}

相關文章