国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
使用scrollLeft
使用 css3 animation transform
首頁 web前端 css教程 看看圖片走馬燈動態(tài)效果利用CSS怎么實現(xiàn)?

看看圖片走馬燈動態(tài)效果利用CSS怎么實現(xiàn)?

Dec 30, 2021 am 10:38 AM
css 動畫

圖片走馬燈動態(tài)效果利用CSS怎么實現(xiàn)?下面本篇文章就來給大家介紹一下使用 css3 animation transform實現(xiàn)圖片走馬燈效果的方法,希望對大家有所幫助!

看看圖片走馬燈動態(tài)效果利用CSS怎么實現(xiàn)?

由于項目需要實現(xiàn)一個圖片的走馬燈效果。查看了大部份通用vue的組件庫,比較少看到這類組件,就自己手動實現(xiàn)基于css3動畫的走馬燈效果。馬上想到兩個方案,一個是通過定時器、scrollLeft或者修改定位position中的left屬性值,另外個方案是通過css3的transform和animation。

選擇用動畫實現(xiàn),由于js實現(xiàn)的動畫運行在CPU,css3的動畫運行在GPU,css3渲染成本低,最后決定用css3去實現(xiàn)這類操作。

使用scrollLeft

一開始使用scrollLeft overflow實現(xiàn)效果,用到了定時器去觸發(fā),然后每次都會導致重繪和回流。(ps:如果需要更好提高性能,可以使用requestAnimationFrame去代替定時器觸發(fā),主要優(yōu)點是requestAnimationFrame 會把每一幀中的所有DOM操作集中起來,在一次重繪或回流中就完成,并且重繪或回流的時間間隔緊緊跟隨瀏覽器的刷新頻率,一般來說,這個頻率為每秒60幀)

(更改scrollLeft與left效果一樣)核心代碼:

function toScrollLeft(){
  //  如果容器的寬度大于滾動條距離,則重復滾動
  if(divWidth > box.scrollLeft){
    box.scrollLeft++
    setTimeout('toScrollLeft()', 18);
  }
  else{
    // 滾動結束,從新開始
    box.scrollLeft=0;
    setTimeout('toScrollLeft()', 18);
  }
}

使用 css3 animation transform

使用css3動畫實現(xiàn)走馬燈,用css變量來動態(tài)設置每個狀態(tài)transform的translateX偏移量,以及最關鍵的animation,實現(xiàn)部分效果如下制作的gif。

看看圖片走馬燈動態(tài)效果利用CSS怎么實現(xiàn)?

1. 初步設置html布局,設置一個div容器

<div class="box" >
    <ul >
        <li v-for="(src,i) in cap " :key="i">
            <img  src="/static/imghw/default1.png"  data-src="src"  class="lazy"     style="max-width:90%" height="90px" : / alt="看看圖片走馬燈動態(tài)效果利用CSS怎么實現(xiàn)?" >
        </li>
    </ul>
</div>

2. 設置對應的樣式

.box{
display: flex;
overflow: hidden;
flex-direction: column;
border-radius:12px;
width: 100%;
height: 100%;
background-color:#fff;
}
ul{
display: flex;
}

3. 最后設置綁定對象到style上,在.box元素的style上主要是使用了css 變量,然后通過具體值去動態(tài)設置動畫每個狀態(tài)的效果。關鍵代碼使用了animation:cap.length*8 's move infinite linear; 就會出現(xiàn)無限重復移動的效果。

ps:整體主要操作點就是這樣,其他細節(jié)的就省略了

<div class="box" :style="{
&#39;--card-ul-width-start&#39;:-30+&#39;px&#39;,
&#39;--card-ul-width-middle1&#39;:-cap.length*30+&#39;px&#39;, 
&#39;--card-ul-width-middle2&#39;:-cap.length*60+&#39;px&#39;,
&#39;--card-ul-width-end&#39;:-cap.length*90+&#39;px&#39;
}">
    <ul :style="{&#39;-webkit-animation&#39;:cap.length*8+ &#39;s move infinite linear;&#39;}">
        <li></li>
    </ul>
</div>
data(){
    cap:new Array(6).fill(&#39;https://res.minigame.vip/gc-assets/fruit-master/fruit-master_icon.png&#39;)
}
@keyframes move {
    0%{
    transform:translateX(var(--card-ul-width-start))
    }
    30%{
    transform:translateX(var(--card-ul-width-middle1))
    }
    70%{
    transform:translateX(var(--card-ul-width-middle2))
    }
    100%{
    transform:translateX(var(--card-ul-width-end))
    }    
}

(學習視頻分享:css視頻教程

以上是看看圖片走馬燈動態(tài)效果利用CSS怎么實現(xiàn)?的詳細內容。更多信息請關注PHP中文網(wǎng)其他相關文章!

本站聲明
本文內容由網(wǎng)友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
如何更改CSS中的文本顏色? 如何更改CSS中的文本顏色? Jul 27, 2025 am 04:25 AM

要改變CSS中文本顏色,需使用color屬性;1.使用color屬性可設置文本前景色,支持顏色名稱(如red)、十六進制碼(如#ff0000)、RGB值(如rgb(255,0,0))、HSL值(如hsl(0,100%,50%))以及帶透明度的RGBA或HSLA(如rgba(255,0,0,0.5));2.可將顏色應用于包含文本的任何元素,如h1至h6標題、段落p、鏈接a(需注意a:link、a:visited、a:hover、a:active不同狀態(tài)的顏色設置)、按鈕、div、span等;3.最

如何清除未使用的CSS? 如何清除未使用的CSS? Jul 27, 2025 am 02:47 AM

UseAutomatedToolSlikePurgecsSoruncsStoscanAndRemoveUnusedcss; 2. integratePuratePurgingIntoyourBuildProcessviawebpack,vite,vite,ortailwind ’scontentConfiguration; 3.AuditcsSusageWithChroMedEvtoolScoverAgeTabBeforgeForgingToavoidRemovingNeedEdedStyles; 4.safelistdynamic

描述不同的CSS單元以及何時使用它們 描述不同的CSS單元以及何時使用它們 Jul 27, 2025 am 04:24 AM

在網(wǎng)頁開發(fā)中,CSS單位的選擇取決于設計需求和響應式表現(xiàn)。1.像素(px)用于固定尺寸如邊框和圖標,但不利于響應式設計;2.百分比(%)根據(jù)父容器調整大小,適合流式布局但需注意上下文依賴;3.em基于當前字體大小,rem基于根元素字體,適合彈性字體和統(tǒng)一主題控制;4.視口單位(vw/vh/vmin/vmax)依據(jù)屏幕尺寸調整,適合全屏元素和動態(tài)UI;5.auto、inherit、initial等值用于自動計算、繼承或重置樣式,有助于靈活布局與樣式管理。合理使用這些單位能提升頁面靈活性與響應性。

什么是堆疊上下文? 什么是堆疊上下文? Jul 27, 2025 am 03:55 AM

astackingcontextisaself-containeerrincssthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconteroverlapplapsplatements,wherenestedContextSrextSrextSratcrets-IndexInteractions; itiscreatedByDybyPropertiesLikeLikeZ-IndexonPositionsedElements,Epacity,opacity

如何使用CSS Backdrop-Filter屬性? 如何使用CSS Backdrop-Filter屬性? Aug 02, 2025 pm 12:11 PM

backdrop-filter用于對元素背后的內容應用視覺效果,1.使用backdrop-filter:blur(10px)等語法實現(xiàn)毛玻璃效果;2.支持blur、brightness、contrast等多種濾鏡函數(shù)并可疊加;3.常用于玻璃態(tài)卡片設計,需確保元素與背景重疊;4.現(xiàn)代瀏覽器支持良好,可用@supports提供降級方案;5.避免過大模糊值和頻繁重繪以優(yōu)化性能,該屬性僅在元素背后有內容時生效。

如何在CSS中樣式鏈接? 如何在CSS中樣式鏈接? Jul 29, 2025 am 04:25 AM

鏈接的樣式應通過偽類區(qū)分不同狀態(tài),1.使用a:link設置未訪問鏈接樣式,2.a:visited設置已訪問鏈接,3.a:hover設置懸停效果,4.a:active設置點擊時樣式,5.a:focus確保鍵盤可訪問性,始終遵循LVHA順序以避免樣式?jīng)_突,可通過添加padding、cursor:pointer和保留或自定義焦點輪廓來提升可用性和可訪問性,還可使用border-bottom或動畫下劃線等自定義視覺效果,最終確保鏈接在所有狀態(tài)下均有良好用戶體驗和可訪問性。

如何將文本集中在CSS中? 如何將文本集中在CSS中? Jul 27, 2025 am 03:16 AM

使用text-align:center實現(xiàn)文本水平居中;2.使用Flexbox的align-items:center和justify-content:center實現(xiàn)垂直和水平居中;3.單行文本可通過設置line-height等于容器高度來垂直居中;4.絕對定位元素可結合top:50%、left:50%與transform:translate(-50%,-50%)實現(xiàn)居中;5.CSSGrid的place-items:center也可同時實現(xiàn)雙軸居中,現(xiàn)代布局推薦優(yōu)先使用Flexbox或Grid。

什么是用戶代理樣式表? 什么是用戶代理樣式表? Jul 31, 2025 am 10:35 AM

用戶代理樣式表是瀏覽器自動應用的默認CSS樣式,用于確保未添加自定義樣式的HTML元素仍具基本可讀性。它們影響頁面初始外觀,但不同瀏覽器存在差異,可能導致不一致顯示。開發(fā)者常通過重置或標準化樣式來解決這一問題。使用開發(fā)者工具的“計算”或“樣式”面板可查看默認樣式。常見覆蓋操作包括清除內外邊距、修改鏈接下劃線、調整標題大小及統(tǒng)一按鈕樣式。理解用戶代理樣式有助于提升跨瀏覽器一致性并實現(xiàn)精準布局控制。

See all articles