這篇文章主要介紹CSS怎么實現選項卡切換效果,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

利用錨點的思想可以實現一個簡單的選項卡切換效果。
頁面布局及樣式:
<div class="box">
<div class="list" id="one">1</div>
<div class="list" id="two">2</div>
<div class="list" id="three">3</div>
<div class="list" id="four">4</div>
</div>
<div class="link">
<a href="#one">1</a>
<a href="#two">2</a>
<a href="#three">3</a>
<a href="#four">4</a>
</div>
......
.box {
height: 10em;
border: 1px solid #ddd;
overflow: hidden;
}
.list {
line-height: 10em;
background: #ddd;
}容器設置了 overflow:hidden,且每個列表高度和容器的高度一樣高,這樣保證永遠 只顯示一個列表。當我們點擊按鈕,如第三個按鈕,會改變 URL 地址的錨鏈為#three,從 而觸發(fā) id 為 three 的第三個列表發(fā)生的錨點定位,也就是改變容器滾動高度讓列表 3 的上 邊緣和滾動容器上邊緣對齊,從而實現選項卡效果。

但是這種方式有一定的不足之處:
其一,容器高度需要固定;
其二,錨點定位會觸發(fā)窗體的重定位,也就是如果頁面可以滾動,那么點擊選項頁面也會發(fā)生跳動
為了改變這種情況,下面利用下面的方式。頁面布局為:
<div class="box">
<div class="list"><input id="one">1</div>
<div class="list"><input id="two">2</div>
<div class="list"><input id="three">3</div>
<div class="list"><input id="four">4</div>
</div>
<div class="link">
<label class="click" for="one">1</label>
<label class="click" for="two">2</label>
<label class="click" for="three">3</label>
<label class="click" for="four">4</label>
</div>這樣寫就算頁面窗體就有滾動條,絕大多數情況下,也都不會發(fā)生跳動現象。其原理就是在每個列表里塞入一個肉眼看不見的<input>輸入框,然后選項卡按鈕變成<label>元素,并通過for屬性與<input>輸入框的id相關聯(lián),這樣,點擊選項按鈕會觸發(fā)輸入框的 focus 行為,觸發(fā)錨點定位,實現選項卡切換效果。
但是上面這種技術要想用在實際項目中還離不開JavaScript 的支持,一個是選項卡按鈕的選中效果,另一個就是處理列表部分區(qū)域在瀏覽器外面時依然會跳動的問題。
相關處理類似下面的做法,使用 jQuery 語法:
$('label.click').removeAttr('for').on('click', function() { $('.box').scrollTop(xxx); 'xxx'表示滾動數值
});以上是CSS怎么實現選項卡切換效果的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)網站制作公司行業(yè)資訊頻道!
網頁題目:CSS怎么實現選項卡切換效果-創(chuàng)新互聯(lián)
網站地址:http://chinadenli.net/article20/dhooco.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、軟件開發(fā)、企業(yè)建站、網頁設計公司、網站設計、營銷型網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)