CSS3製作動畫的三個屬性

来源:http://www.cnblogs.com/08291018wan/archive/2016/08/10/5757976.html
-Advertisement-
Play Games

CSS3屬性中有關於製作動畫的三個屬性:Transform,Transition,Animation;我們一起學習完了Transform和Transition,讓我們對元素實現了一些基本的動畫效果,這些我想足以讓大家激動了一陣子,今天我們趁著這個熱勁繼續第三個動畫屬性Animation的學習,單從A ...


CSS3屬性中有關於製作動畫的三個屬性:Transform,Transition,Animation;我們一起學習完了TransformTransition,讓我們對元素實現了一些基本的動畫效果,這些我想足以讓大家激動了一陣子,今天我們趁著這個熱勁繼續第三個動畫屬性Animation的學習,單從Animation字面上的意思,我們就知道是“動畫”的意思。但CSS3中的Animation與HTML5中的Canvas繪製動畫又不同,Animation只應用在頁面上已存在的DOM元素上,而且他跟Flash和JavaScript以及jQuery製作出來的動畫效果又不一樣,因為我們使用CSS3的Animation製作動畫我們可以省去複雜的js,jquery代碼(像我這種不懂js的人來說是件很高興的事了),只是有一點不足之處,我們運用Animation能創建自己想要的一些動畫效果,但是有點粗糙,如果想要製作比較好的動畫,我見意大家還是使用flash或js等。雖然說Animation製作出來的動畫簡單粗糙,但我想還是不能減少我們大家對其學習的熱情。

在開始介紹Animation之前我們有必要先來瞭解一個特殊的東西,那就是"Keyframes",我們把他叫做“關鍵幀”,玩過flash的朋友可能對這個東西並不會陌生。下麵我們就一起來看看這個“Keyframes”是什麼東西。前面我們在使用transition製作一個簡單的transition效果時,我們包括了初始屬性和最終屬性,一個開始執行動作時間和一個延續動作時間以及動作的變換速率,其實這些值都是一個中間值,如果我們要控制的更細一些,比如說我要第一個時間段執行什麼動作,第二個時間段執行什麼動作(換到flash中說,就是第一幀我要執行什麼動作,第二幀我要執行什麼動作),這樣我們用Transition就很難實現了,此時我們也需要這樣的一個“關鍵幀”來控制。那麼CSS3的Animation就是由“keyframes”這個屬性來實現這樣的效果。下麵我們一起先來看看Keyframes:

Keyframes具有其自己的語法規則,他的命名是由"@keyframes"開頭,後面緊接著是這個“動畫的名稱”加上一對花括弧“{}”,括弧中就是一些不同時間段樣式規則,有點像我們css的樣式寫法一樣。對於一個"@keyframes"中的樣式規則是由多個百分比構成的,如“0%”到"100%"之間,我們可以在這個規則中創建多個百分比,我們分別給每一個百分比中給需要有動畫效果的元素加上不同的屬性,從而讓元素達到一種在不斷變化的效果,比如說移動,改變元素顏色,位置,大小,形狀等,不過有一點需要註意的是,我們可以使用“fromt”“to”來代表一個動畫是從哪開始,到哪結束,也就是說這個 "from"就相當於"0%"而"to"相當於"100%",值得一說的是,其中"0%"不能像別的屬性取值一樣把百分比符號省略,我們在這裡必須加上百分符號(“%”)如果沒有加上的話,我們這個keyframes是無效的,不起任何作用。因為keyframes的單位只接受百分比值。

Keyframes可以指定任何順序排列來決定Animation動畫變化的關鍵位置。其具體語法規則如下:

 keyframes-rule: '@keyframes' IDENT '{' keyframes-blocks '}';
 keyframes-blocks: [ keyframe-selectors block ]* ;
 keyframe-selectors: [ 'from' | 'to' | PERCENTAGE ] [ ',' [ 'from' | 'to' | PERCENTAGE ] ]*;

 

我把上面的語法綜合起來

  @keyframes IDENT {
     from {
       Properties:Properties value;
     }
     Percentage {
       Properties:Properties value;
     }
     to {
       Properties:Properties value;
     }
   }
   或者全部寫成百分比的形式:
   @keyframes IDENT {
      0% {
         Properties:Properties value;
      }
      Percentage {
         Properties:Properties value;
      }
      100% {
         Properties:Properties value;
      }
    }
 

 

其中IDENT是一個動畫名稱,你可以隨便取,當然語義化一點更好,Percentage是百分比值,我們可以添加許多個這樣的百分比,Properties為css的屬性名,比如說left,background等,value就是相對應的屬性的屬性值。值得一提的是,我們from和to 分別對應的是0%和100%。這個我們在前面也提到過了。到目前為止支技animation動畫的只有webkit內核的瀏覽器,所以我需要在上面的基礎上加上-webkit首碼,據說Firefox5可以支持css3的 animation動畫屬性。

我們來看一個W3C官網的實例

  @-webkit-keyframes 'wobble' {
     0% {
        margin-left: 100px;
        background: green;
     }
     40% {
        margin-left: 150px;
        background: orange;
     }
     60% {
        margin-left: 75px;
        background: blue;
     }
     100% {
        margin-left: 100px;
        background: red;
     }
  }
        

 

這裡我們定義了一個叫“wobble”的動畫,他的動畫是從0%開始到100%時結束,從中還經歷了一個40%和60%兩個過程,上面代碼具體意思是:wobble動畫在0%時元素定位到left為100px的位置背景色為green,然後40%時元素過渡到left為150px的位置並且背景色為orange,60%時元素過渡到left為75px的位置,背景色為blue,最後100%結束動畫的位置元素又回到起點left為100px處,背景色變成red。假設置我們只給這個動畫有10s的執行時間,那麼他每一段執行的狀態如下圖所示:

Keyframes定義好了以後,我們需要怎麼去調用剛纔定義好的動畫“wobble”

CSS3的animation類似於transition屬性,他們都是隨著時間改變元素的屬性值。他們主要區別是transition需要觸發一個事件(hover事件或click事件等)才會隨時間改變其css屬性;而animation在不需要觸發任何事件的情況下也可以顯式的隨著時間變化來改變元素css的屬性值,從而達到一種動畫的效果。這樣我們就可以直接在一個元素中調用animation的動畫屬性,基於這一點,css3的animation就需要明確的動畫屬性值,這也就是回到我們上面所說的,我們需要keyframes來定義不同時間的css屬性值,達到元素在不同時間段變化的效果。

下麵我們來看看怎麼給一個元素調用animation屬性

  .demo1 {
     width: 50px;
     height: 50px;
     margin-left: 100px;
     background: blue;
     -webkit-animation-name:'wobble';/*動畫屬性名,也就是我們前面keyframes定義的動畫名*/
     -webkit-animation-duration: 10s;/*動畫持續時間*/
     -webkit-animation-timing-function: ease-in-out; /*動畫頻率,和transition-timing-function是一樣的*/
     -webkit-animation-delay: 2s;/*動畫延遲時間*/
     -webkit-animation-iteration-count: 10;/*定義迴圈資料,infinite為無限次*/
     -webkit-animation-direction: alternate;/*定義動畫方式*/
  }

 

CSS Animation動畫效果將會影響元素相對應的css值,在整個動畫過程中,元素的變化屬性值完全是由animation來控制,動畫後面的會覆蓋前面的屬性值。如上面例子:因為我們這個demo只是在不同的時間段改變了demo1的背景色和左邊距,其預設值是:margin-left:100px;background: blue;但當我們在執行動畫0%時,margin-left:100px,background:green;當執行到40%時,屬性變成了:margin-left:150px;background:orange;當執行到60%時margin-left:75px;background:blue;當動畫 執行到100%時:margin-left:100px;background: red;此時動畫將完成,那麼margin-left和background兩個屬性值將是以100%時的為主,他不會產生疊加效果,只是一次一次覆蓋前一次出將的css屬性。就如我們平時的css一樣,最後出現的權根是最大的。當動畫結束後,樣式回到預設效果。

我們可以看一張來自w3c官網有關於css3的animation對屬性變化的過程示意圖

從上面的Demo中我們可以看出animation和transition一樣有自己相對應的屬性,那麼在animation主要有以下幾種:animation-name;animation-duration;animation-timing-function;animation-delay;animation-iteration-count;animation-direction;animation-play-state。下麵我們分別來看看這幾個屬性的使用

一、animation-name:

語法:

  animation-name: none | IDENT[,none | IDENT]*;

 

取值說明:

animation-name:是用來定義一個動畫的名稱,其主要有兩個值:IDENT是由Keyframes創建的動畫名,換句話說此處的IDENT要和Keyframes中的IDENT一致,如果不一致,將不能實現任何動畫效果;none為預設值,當值為none時,將沒有任何動畫效果。另外我們這個屬性跟前面所講的transition一樣,我們可以同時附幾個animation給一個元素,我們只需要用逗號“,”隔開。

二、animation-duration:

語法:

  animation-duration: <time>[,<time>]*

 

取值說明:

animation-duration是用來指定元素播放動畫所持續的時間長,取值:<time>為數值,單位為s (秒.)其預設值為“0”。這個屬性跟transition中的transition-duration使用方法是一樣的。

三、animation-timing-function:

語法:

   animation-timing-function:ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>) [, ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>)]* 

 

取值說明:

animation-timing-function:是指元素根據時間的推進來改變屬性值的變換速率,說得簡單點就是動畫的播放方式。他和transition中的transition-timing-function一樣,具有以下六種變換方式:ease;ease-in;ease-in-out;linear;cubic-bezier。具體的使用方法大家可以點這裡,查看其中transition-timing-function的使用方法。

四、animation-delay:

語法:

  animation-delay: <time>[,<time>]*

 

取值說明:

animation-delay:是用來指定元素動畫開始時間。取值為<time>為數值,單位為s(秒),其預設值也是0。這個屬性和transition-delayy使用方法是一樣的。

五、animation-iteration-count

語法:

  animation-iteration-count:infinite | <number> [, infinite | <number>]* 

 

取值說明:

animation-iteration-count是用來指定元素播放動畫的迴圈次數,其可以取值<number>為數字,其預設值為“1”;infinite為無限次數迴圈。

六、animation-direction

語法:

  animation-direction: normal | alternate [, normal | alternate]* 

取值說明:

animation-direction是用來指定元素動畫播放的方向,其只有兩個值,預設值為normal,如果設置為normal時,動畫的每次迴圈都是向前播放;另一個值是alternate,他的作用是,動畫播放在第偶數次向前播放,第奇數次向反方向播放。

七、animation-play-state

語法:

   animation-play-state:running | paused [, running | paused]* 

 

取值說明:

animation-play-state主要是用來控制元素動畫的播放狀態。其主要有兩個值,running和paused其中running為預設值。他們的作用就類似於我們的音樂播放器一樣,可以通過paused將正在播放的動畫停下了,也可以通過running將暫停的動畫重新播放,我們這裡的重新播放不一定是從元素動畫的開始播放,而是從你暫停的那個位置開始播放。另外如果暫時了動畫的播放,元素的樣式將回到最原始設置狀態。這個屬性目前很少內核支持,所以只是稍微提一下。

上面我們分別介紹了animation中的各個屬性的語法和取值,那麼我們綜合上面的內容可以給animation屬性一個速記法:

  animation:[<animation-name> || <animation-duration> || <animation-timing-function> || <animation-delay> || <animation-iteration-count> || <animation-direction>] [, [<animation-name> || <animation-duration> || <animation-timing-function> || <animation-delay> || <animation-iteration-count> || <animation-direction>] ]* 

 

如下圖所示

相容的瀏覽器

前面我也簡單的提過,CSS3的animation到目前為止只支持webkit內核的瀏覽器,因為最早提出這個屬性的就是safari公司,據說Firefox5.0+將支持Animation。如圖所示

那麼到此為止,我們主要一起學習了有關animation的理論知識,下麵我們一起來看兩個實例製作過程,來加強對animation的實踐能力

DEMO一:發光變色的button

我們這個demo主要是通過在keyframes中改變元素的background;color;box-shadow三個屬性,來達到一種發光變色的button效果,我們來看看其實現代碼

HTML Code:

  <a href="" class="btn">發光的button</a>

 

CSS Code

  /*給這個按鈕創建一個動名名稱:buttonLight,然後在每個時間段設置不同的background,color來達到變色效果,改變box-shadow來達到發光效果*/
  @-webkit-keyframes 'buttonLight' {
     from {
       background: rgba(96, 203, 27,0.5);
       -webkit-box-shadow: 0 0 5px rgba(255, 255, 255, 0.3) inset, 0 0 3px rgba(220, 120, 200, 0.5);
       color: red;
     }
     25% {
       background: rgba(196, 203, 27,0.8);
       -webkit-box-shadow: 0 0 10px rgba(255, 155, 255, 0.5) inset, 0 0 8px rgba(120, 120, 200, 0.8);
       color: blue;
    }
    50% {
      background: rgba(196, 203, 127,1);
      -webkit-box-shadow: 0 0 5px rgba(155, 255, 255, 0.3) inset, 0 0 3px rgba(220, 120, 100, 1);
      color: orange;
    }
    75% {
      background: rgba(196, 203, 27,0.8);
      -webkit-box-shadow: 0 0 10px rgba(255, 155, 255, 0.5) inset, 0 0 8px rgba(120, 120, 200, 0.8); 
      color: black;
    }
   to {
     background: rgba(96, 203, 27,0.5);
     -webkit-box-shadow: 0 0 5px rgba(255, 255, 255, 0.3) inset, 0 0 3px rgba(220, 120, 200, 0.5);
     color: green;
    }
  }
  a.btn {
    /*按鈕的基本屬性*/
    background: #60cb1b;
    font-size: 16px;
    padding: 10px 15px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    text-shadow: 0 -1px 1px rgba(0,0,0,0.3);
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -moz-box-shadow: 0 0 5px rgba(255, 255, 255, 0.6) inset, 0 0 3px rgba(220, 120, 200, 0.8);
    -webkit-box-shadow: 0 0 5px rgba(255, 255, 255, 0.6) inset, 0 0 3px rgba(220, 120, 200, 0.8);
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.6) inset, 0 0 3px rgba(220, 120, 200, 0.8);
    /*調用animation屬性,從而讓按鈕在載入頁面時就具有動畫效果*/
    -webkit-animation-name: "buttonLight"; /*動畫名稱,需要跟@keyframes定義的名稱一致*/
    -webkit-animation-duration: 5s;/*動畫持續的時間長*/
    -webkit-animation-iteration-count: infinite;/*動畫迴圈播放的次數*/
  }

 

效果:

效果一變化中效果二

為了更好的看出這個demo的效果,你可以把上面的代碼複製到你本過的頁面上,並使用safari和chrome,你會覺得很有意思,整個按鈕好像在不停的呼吸一樣。

Demo二:方形旋轉變成圓型

我們這個demo是通過transform的rotate和border-radius不同值,把一個方型圖片隨著時間的推移,慢慢的轉換成了個圓型效果,下麵我們來看看其具體實現的效果

HTML Code:

   <a href="#" class="box"></a>
   <span class="click-btn">Click</span>

 

CSS Code:

  /*定義方型轉化為圓型的動畫round*/
  @-webkit-keyframes 'round' {
     from{
       -webkit-transform: rotate(36deg);
       -webkit-border-radius: 2px;
     }
  10%{
      -webkit-transform: rotate(72deg);
      -webkit-border-radius: 4px;
     }
  20% {
      -webkit-transform: rotate(108deg);
      -webkit-border-radius: 6px;
    }
  30% {
      -webkit-transform: rotate(144deg);
      -webkit-border-radius: 9px;
    }
  40%{
     -webkit-transform: rotate(180deg);
     -webkit-border-radius: 12px;
  }
  50%{
     -webkit-transform: rotate(216deg);
     -webkit-border-radius: 14px;
  }
  60% {
     -webkit-transform: rotate(252deg);
     -webkit-border-radius: 16px;
  }
  70% {
     -webkit-transform: rotate(288deg);
     -webkit-border-radius: 19px;
  }
  80%{
     -webkit-transform: rotate(324deg);
     -webkit-border-radius: 22px;
  }
  to {
     -webkit-transform: rotate(360deg);
     -webkit-border-radius: 25px;
  }
}
   /*給方型box一個初步樣式*/
   a.box {
      display: block;
      width: 50px;
      height: 50px;
      background: red;
      margin-bottom: 20px;
   }
   /*圓型box的樣式,併在這裡應用animation*/
   a.round {
      -webkit-border-radius: 25px;
      -moz-border-radius: 25px;
      border-radius: 25px;
      background: green;
      -webkit-animation-name: 'round'; /*動畫名稱*/
      -webkit-animation-duration: 60s;/*播放一次所持續時間*/
      -webkit-animation-timing-function: ease;/*動畫播放頻率*/
      -webkit-animation-iteration-count: infinite;/*動畫播放次涒為無限次*/
    }
           
   /*click button效果*/
   .click-btn {
       background: rgba(125,220,80,0.8);
       -moz-border-radius: 5px;
      -webkit-border-radius: 5px;
       border-radius: 5px;
       -webkit-box-shadow: inset 0 0 8px rgba(255,255,255,0.8),0 0 10px rgba(10,255,120,0.3);
       -moz-box-shadow: inset 0 0 8px rgba(255,255,255,0.8),0 0 10px rgba(10,255,120,0.3);
       box-shadow: inset 0 0 8px rgba(255,255,255,0.8),0 0 10px rgba(10,255,120,0.3);
       padding: 5px 10px;
       color: #369;
       font-size: 16px;
       font-weight: bold;
       text-align: center;
       text-shadow: 0 -1px 0 rgba(0,0,0,0.5);
       cursor: pointer;
   }

 

jQuery Code:

  <script type="text/javascript">
      $(document).ready(function(){
         $(".click-btn").click(function(){
             $(this).siblings().addClass("round");
          });
       });
  </script>

 

我們載入時box是沒有任何動畫效果的,當我們點擊了click button看給原box上加上一個round的class名,從而觸發了一個round的動作。請看效果:

未點擊按鈕時效果(未觸發動畫效果)點擊click按鈕開始播放動畫

我們這裡簡單的介紹了兩個demo的應用,其實大家可以發揮自己的想像製作出更好更多的動畫效果,如果你對animation製作動畫很感興趣,你可以參考這幾個網站:webdesignersblogslodiveimpressivewebs這上面有許多特別有意的動畫demo。

那麼到此有關於CSS3的animation相關應用就介紹完了。希望能給一些朋友帶來一點幫助,如果各位有更好的建議,可以通過首頁的QQ或email等方式直接跟我聯繫。還是那句話,感興趣的朋友請觀註本站關於css3的內容更新,我將不斷的整理css3相關方面的知識,和大家一起學習,一起探討。下麵列出本站關於CSS3的相關鏈接,以方便大家閱讀:

第一節:《CSS3 Gradient

第二節:《CSS3 RGBA

第三節:《CSS3 Border-radius

第四節:《CSS3 Text-shadow

第五節:《CSS3 Box-shadow

第六節:《CSS3 Transform

上一節:《CSS3 Transition

如需轉載煩請註明出處:http://www.w3cplus.com/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 回到目錄 關於Lind.DDD.Manager的培訓與學習 講解:張占嶺 花名:倉儲大叔 主要框架:Lind.DDD,Lind.DDD.Manager 關於Lind.DDD.Manager 由於數據模型,資料庫初始化(Code.First自動升級資料庫或者進行資料庫版本的遷移)控制器,View視圖, ...
  • 在UML 2.*的13種圖形中,類圖是使用頻率最高的UML圖之一,它表示了類與類之間的關係,幫助開發人員理解系統。它是系統分析和設計階段的重要產物,也是系統編碼和測試的重要模型依據。本文詳細介紹了類間的依賴關係,關聯關係(聚合、組合等),實現關係以及繼承關係的UML表示形式及其在代碼中的實現方式。 ...
  • 1、面向過程 int a = 10; int b =5; int c = a+b; int r1 = 10; int r2 = 5; double c = r1*r1*3.14 - r2*r2*3.14 缺點:重用性差,擴展性差,可維護性差 2、面向對象 (1)對象:萬物皆對象,對象是類實例化出來的 ...
  • 迭代器的概念 迭代器是用來訪問string對象或vector對象的元素的,類似於下標運算和指針。 其對象是容器中的元素或string對象中的字元; 使用迭代器可以訪問某個元素,迭代器也能從一個元素移動到另外一個元素。 迭代器的使用 不同於指針,獲取迭代器不是使用取地址符,有迭代器的類型同時擁有返回迭 ...
  • 1.屬性選擇器 E[att]:選擇具有att屬性的E元素。 E[att="val"]:選擇具有att屬性且屬性值等於val的E元素。 E[att~="val"]:選擇具有att屬性且屬性值為一用空格分隔的字詞列表,其中一個等於val的E元素。 E[att^="val"]:選擇具有att屬性且屬性值為 ...
  • 初探AngularJS的指令,並對指令的常用設置項,進行闡述 ...
  • font-family 設置字體名稱 可以使用多個名稱,用逗號分隔,瀏覽器則按照先後順序依次使用可用字體 font-size 設置字體大小 length 用長度值指定文字大小,不允許負值 percentage 用百分比指定文字大小,其百分比取值是基於父對象中字體的尺寸,不允許負值 font-weig ...
  • 本來是要判斷那些單元格被選中,結果發現行不通,只能判斷滑鼠按下後,經過了那些單元格 之所以發出來,是覺得案例還有很多有意思的地方 onmouseover 的持續觸發,導致了很多重覆元素 由於將事件綁定在整個table上,還出現了undefined 滑鼠的反覆進入進出,會導致相同元素的斷斷續續的重覆, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...