成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

css動(dòng)畫 --- transition

leoperfect / 3213人閱讀

摘要:初探提供了一種在更改屬性時(shí)控制動(dòng)畫速度的方法。其可以讓屬性變化成為一個(gè)持續(xù)一段時(shí)間的過程,而不是立即生效的。軸的取值范圍區(qū)間內(nèi)軸可以任意值。動(dòng)手使用下基本操作的里有,要觸發(fā)它,則需要改變上面所說的。

前言

頁面效果是很重要的一環(huán),好的頁面效果,可以讓用戶感覺很舒服,進(jìn)而能吸引更多的用戶。
既然是頁面效果,那么動(dòng)畫肯定不可或缺,那么這篇先說下 transition 這個(gè) css3 屬性。

初探 transition
transitions 提供了一種在更改 CSS 屬性時(shí)控制動(dòng)畫速度的方法。其可以讓屬性變化成為一個(gè)持續(xù)一段時(shí)間的過程,而不是立即生效  的。(摘自MDN)
用法

其寫法(為了兼容,要加廠商前綴,這里不寫咯):

transition:    

也可以用逗號(hào)隔開,多寫幾個(gè)作用于不用的 property(屬性)

transition:    ,    

各項(xiàng)作用
@ 默認(rèn)值 作用
property none / all / property all 作用于需要過渡的屬性
duration time 0 過渡所需時(shí)間
timing-function linear / ease / ease-in / ease-out / ease-in-out / cubic-bezier(n,n,n,n) ease 規(guī)定過渡效果的速度曲線
delay time (同duration) 0 延遲多久才開始過渡

property:可過渡的 CSS 屬性,有些屬性則不行。

time:以秒(如1s)或毫秒(如1000)計(jì)。

cubic-bezier(x1,y1,x2,y2):三階貝塞爾曲線。linear ,ease 等等都是由它計(jì)算出來的。x軸 的取值范圍:[0,1] 區(qū)間內(nèi), y軸 可以任意值??稍诰€自定義 。

動(dòng)手使用下 基本操作
// css
#box {
  width: 100px;
  height: 100px;
  background-color: aqua;
  transition: all 1s;
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -ms-transition: all 1s;
  -o-transition: all 1s;
}

#box:hover {
  width: 500px;
  margin-top: 100px;
}

// html

#boxstyle 里有transition,要觸發(fā)它,則需要改變上面所說的 property 。

當(dāng)鼠標(biāo)移到 div 時(shí),widthmarin-top 發(fā)生了變化,觸發(fā)了 transition 。

all : 所有可過渡的屬性都可以的意思。

1s : 在第二項(xiàng),即 duration 。過渡所需時(shí)間。

簡(jiǎn)單的類似圖片無縫滑動(dòng)
// css
* {
  margin: 0;
  padding: 0;
}

#box {
  margin: 0 auto;
  width: 100px;
  height: 100px;
  overflow: hidden;
  
}

#img_container {
  position: relative;
  width: 400px;
  transition: all .7s linear;
  -webkit-transition: all .7s linear;
  -moz-transition: all .7s linear;
  -ms-transition: all .7s linear;
  -o-transition: all .7s linear;
}

#img_container span {
  display: inline-block;
  width: 100px;
  height: 100px;
  text-align: center;
  line-height: 100px;
  background-color: yellow;
}

#img_container span:nth-of-type(even) {
  background-color: red;
}

ul {
  text-align: center;
}

li {
  padding: 10px;
  cursor: pointer;
  list-style: none;
  display: inline-block;
}

// html
1234
  • 圖一
  • 圖二
  • 圖三
  • 圖四
// js ~function () { let lis = document.getElementsByTagName("li"); let imgBox = document.getElementById("img_container"); let width = +document.querySelector("span").clientWidth; for (let j = 0;j < lis.length;j++) { lis[j].addEventListener("click",function() { imgBox.style.marginLeft = `-${ width * j }px`; }); } }()

這個(gè) demo 是用 js 改變了 property ,從而觸發(fā) transition

滾動(dòng)到某個(gè)位置,動(dòng)畫才出現(xiàn)
// css
* {
  margin: 0;
  padding: 0;
}

body {
  height: 1500px;
}


#box {
  height: 1200px;
  text-align: center;
}

#animation {
  width: 100px;
  height: 100px;
  background-color: red;
  transition: transform 1s cubic-bezier(.1,1.92,.71,.53);
  -webkit-transition: transform 1s cubic-bezier(.1,1.92,.71,.53);
  -moz-transition: transform 1s cubic-bezier(.1,1.92,.71,.53);
  -ms-transition: transform 1s cubic-bezier(.1,1.92,.71,.53);
  -o-transition: transform 1s cubic-bezier(.1,1.92,.71,.53);
}

// html
請(qǐng)往下滾動(dòng)到有動(dòng)畫的地方,或者點(diǎn)擊 這里
// js let animation = function () { let animationBox = document.getElementById("animation"); function show () { animationBox.style.transform = "translateX(600px) scale(3,3) rotate(360deg)"; } function init () { animationBox.style.transform = "translateX(0) scale(1,1) rotate(-360deg)"; } return { show, init }; }() window.onscroll = function () { let scrollTop = +window.scrollY; if (scrollTop > 650) { animation.show(); } else { animation.init(); } }

因?yàn)橹饕菔緞?dòng)畫,所以沒寫滾動(dòng)的節(jié)流或防抖了 。

當(dāng)滾動(dòng)或點(diǎn)擊到動(dòng)畫的位置,動(dòng)畫才開始。

css 代碼可以看到,transition 要通過 transform 的變化來觸發(fā)。同時(shí)我也用到了 cubic-bezier

最后

這里不深入講解 cubic-bezier ,因?yàn)槲铱丛硪彩穷^暈。。。。
transition 還可以實(shí)現(xiàn)很多功能,淡出淡入 , 手風(fēng)琴效果 等等。等著你們?nèi)グl(fā)現(xiàn)。
其實(shí)動(dòng)畫不是特別難的,只要你有顆 騷動(dòng)(好奇)的心。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/92797.html

相關(guān)文章

  • CSS 動(dòng)畫

    摘要:相關(guān)的事件事件會(huì)在動(dòng)畫結(jié)束的時(shí)候觸發(fā)。事件觸發(fā)時(shí)會(huì)傳入一些動(dòng)畫相關(guān)的參數(shù),例如,,詳細(xì)內(nèi)容可以參考。動(dòng)畫的一個(gè)方向控制。即動(dòng)畫效果執(zhí)行后,元素便恢復(fù)正常狀態(tài)。有趣的是,支持小數(shù),即表示動(dòng)畫執(zhí)行到一半。 CSS 中的 transform,transition 和 animation 是分開的三部分內(nèi)容,其中 transfrom 主要是控制元素變形,并沒有一個(gè)時(shí)間控制的概念,而 trans...

    沈儉 評(píng)論0 收藏0
  • css3動(dòng)畫屬性詳解之transform、transition、animation

    摘要:動(dòng)畫屬性詳解關(guān)于制作動(dòng)畫的幾個(gè)屬性變形轉(zhuǎn)換和動(dòng)畫。一屬性旋轉(zhuǎn)中心為原點(diǎn)扭曲傾斜縮放移動(dòng)矩陣變形。各個(gè)屬性的用法旋轉(zhuǎn)其中表示度。承載動(dòng)畫的另一個(gè)屬性。定義動(dòng)畫的名稱。一個(gè)或多個(gè)合法的樣式屬性。 css3動(dòng)畫屬性詳解: 關(guān)于CSS3制作動(dòng)畫的幾個(gè)屬性:變形(transform)、轉(zhuǎn)換(transition)和動(dòng)畫(animation)。 一、transform 屬性: 旋轉(zhuǎn)rotate(中...

    Riddler 評(píng)論0 收藏0
  • CSS3動(dòng)畫效果transition

    摘要:鼠標(biāo)移動(dòng)觸發(fā)的動(dòng)畫效果。第二個(gè)參數(shù)就是動(dòng)畫耗時(shí),默認(rèn)是,所以必不可少,要不然沒有動(dòng)畫效果,沒什么可說的。多個(gè)樣式各個(gè)樣式用逗號(hào)隔開即可寬度完成變化,高度延遲執(zhí)行,完成變化,背景色完成變化效果如下未完待續(xù)1.transition的瀏覽器支持情況 IE10+支持,IE6789都不支持!目前,其他瀏覽器最新版本都支持,不需要再加前綴-webkit- 之類的了 2. 還是一步一步說說怎么用trans...

    番茄西紅柿 評(píng)論0 收藏0
  • 面試官: css3動(dòng)畫了解嗎? 我: .......

    摘要:過渡允許的屬性值在一定的時(shí)間區(qū)間內(nèi)平滑地過渡。需要明確知道,開始狀態(tài)和結(jié)束狀態(tài)的具體數(shù)值,才能計(jì)算出中間狀態(tài)。需要事件觸發(fā),所以沒法在網(wǎng)頁加載時(shí)自動(dòng)發(fā)生。是一次性的,不能重復(fù)發(fā)生,除非一再觸發(fā)。 transition(過渡) transition允許css的屬性值在一定的時(shí)間區(qū)間內(nèi)平滑地過渡。這種效果可以在鼠標(biāo)單擊、獲得焦點(diǎn)、被點(diǎn)擊或?qū)υ厝魏胃淖冎杏|發(fā),并圓滑地以動(dòng)畫效果改變CSS的屬性值...

    番茄西紅柿 評(píng)論0 收藏0
  • 面試官: css3動(dòng)畫了解嗎? 我: .......

    摘要:過渡允許的屬性值在一定的時(shí)間區(qū)間內(nèi)平滑地過渡。需要明確知道,開始狀態(tài)和結(jié)束狀態(tài)的具體數(shù)值,才能計(jì)算出中間狀態(tài)。需要事件觸發(fā),所以沒法在網(wǎng)頁加載時(shí)自動(dòng)發(fā)生。是一次性的,不能重復(fù)發(fā)生,除非一再觸發(fā)。 transition(過渡) transition允許css的屬性值在一定的時(shí)間區(qū)間內(nèi)平滑地過渡。這種效果可以在鼠標(biāo)單擊、獲得焦點(diǎn)、被點(diǎn)擊或?qū)υ厝魏胃淖冎杏|發(fā),并圓滑地以動(dòng)畫效果改變CSS的屬性值...

    weakish 評(píng)論0 收藏0
  • css3中的變形(transform)、過渡(transition)、動(dòng)畫(animation)屬性

    摘要:中制作動(dòng)畫的幾個(gè)屬性中的變形過渡動(dòng)畫。默認(rèn)值為,為時(shí),表示變化是瞬時(shí)的,看不到過渡效果。實(shí)現(xiàn)動(dòng)畫效果主要由兩部分組成通過類似動(dòng)畫中的幀來聲明一個(gè)動(dòng)畫在屬性中調(diào)用關(guān)鍵幀聲明的動(dòng)畫。 css3中制作動(dòng)畫的幾個(gè)屬性:css3中的變形(transform)、過渡(transition)、動(dòng)畫(animation)。 一、 CSS3變形(transform) 語法: transform : no...

    waruqi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<