欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

css手機tab切換效果

李芳蘭1年前7瀏覽0評論

CSS手機tab切換效果是網(wǎng)頁設(shè)計中常見的交互方式,在手機網(wǎng)頁中特別適用。今天我們來學習如何使用CSS實現(xiàn)一個手機tab切換效果。

/* HTML結(jié)構(gòu) */
<div class="tab">
<div class="tab-header">
<span class="active">tab1</span>
<span>tab2</span>
<span>tab3</span>
</div>
<div class="tab-content">
<div class="tab-item active">content1</div>
<div class="tab-item">content2</div>
<div class="tab-item">content3</div>
</div>
</div>
/* CSS樣式 */
.tab{
width: 100%;
overflow: hidden;
}
.tab-header{
display: flex;
justify-content: space-between;
}
.tab-header span{
flex: 1;
text-align: center;
padding: 10px;
border-bottom: 1px solid #ddd;
color: #333;
}
.tab-header span.active{
color: #f00;
}
.tab-content{
width: 300%;
display: flex;
transform: translateX(0);
transition: transform 0.5s ease-in-out;
}
.tab-item{
flex: 1;
padding: 20px;
}
.tab-item.active{
background-color: #fff;
}
/* JS腳本(點擊tab切換) */
let headerSpans = document.querySelectorAll('.tab-header span')
let contentItems = document.querySelectorAll('.tab-item')
for(let i=0;i<headerSpans.length;i++){
headerSpans[i].addEventListener('click',function(){
for(let j=0;j<headerSpans.length;j++){
headerSpans[j].classList.remove('active')
}
this.classList.add('active')
let distance = -i * 100
contentItems[0].style.transform = 'translateX(' + distance + '%)'
})
}

實現(xiàn)這個效果的關(guān)鍵在于CSS中使用了display:flex,使標簽水平排列,并使用了transform屬性來實現(xiàn)平移動畫。JS腳本監(jiān)聽了每一個tab的點擊事件,并根據(jù)當前點擊的tab的index計算出需要平移的距離,將其賦值給contentItems的transform屬性即可實現(xiàn)tab切換的效果。

以上就是CSS手機tab切換效果的實現(xiàn),希望能幫助大家更好地完成手機網(wǎng)頁設(shè)計。