国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

純CSS實現導航欄Tab切換效果

2024-07-11 08:25:48
字體:
來源:轉載
供稿:網友

不用 Javascript,使用純 CSS 方案,實現類似下圖的導航欄切換:

CSS 的強大之處有的時候超乎我們的想象,Tab 切換,常規而言確實需要用到一定的腳本才能實現。下面看看如何使用 CSS 完成同樣的事情。

實現 Tab 切換的難點在于如何使用 CSS 接收到用戶的點擊事情并對相關的節點進行操作。即是:

如何接收點擊事件

如何操作相關DOM

下面看看如何使用兩種不同的方法實現需求:

法一::target 偽類選擇器

首先,我們要解決的問題是如何接收點擊事件,這里第一種方法我們采用 :target 偽類接收。

:target 是 CSS3 新增的一個偽類,可用于選取當前活動的目標元素。當然 URL 末尾帶有錨名稱 #,就可以指向文檔內某個具體的元素。這個被鏈接的元素就是目標元素(target element)。它需要一個 id 去匹配文檔中的 target 。

解釋很難理解,看看實際的使用情況,假設我們的 HTML 代碼如下:

CSS Code復制內容到剪貼板
  1. <span style="font-family: verdana, geneva;"><ul class='nav'>        <li>列表1</li>   
  2.     <li>列表2</li>    </ul>   
  3. <div>列表1內容:123456</div>    <div>列表2內容:abcdefgkijkl</div></span>  

由于要使用 :target,需要 HTML 錨點,以及錨點對應的 HTML 片段。所以上面的結構要變成:

CSS Code復制內容到剪貼板
  1. <span style="font-family: verdana, geneva;"><ul class='nav'>        <li><a href="#content1">列表1</a></li>   
  2.     <li><a href="#content2">列表2</a></li>    </ul>   
  3. <div id="content1">列表1內容:123456</div>    <div id="content2">列表2內容:abcdefgkijkl</div></span>  

這樣,上面 <a href="#content1"> 中的錨點 #content1 就對應了列表1 <div id="content1"> 。錨點2與之相同對應列表2。

接下來,我們就可以使用 :target 接受到點擊事件,并操作對應的 DOM 了:

CSS Code復制內容到剪貼板
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐梓县| 突泉县| 辽阳县| 广河县| 光山县| 莱州市| 临江市| 永年县| 油尖旺区| 特克斯县| 丽水市| 武宣县| 新和县| 松桃| 道真| 台江县| 北流市| 郴州市| 福清市| 敖汉旗| 古交市| 尉犁县| 额济纳旗| 大英县| 镇江市| 丰台区| 来宾市| 苏尼特左旗| 潼关县| 鄂伦春自治旗| 合川市| 科技| 高碑店市| 文化| 临桂县| 金寨县| 武鸣县| 东光县| 鄂伦春自治旗| 岐山县| 乌鲁木齐县|