91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用純CSS實現條紋錯覺的動畫效果

發布時間:2022-02-28 14:34:42 來源:億速云 閱讀:156 作者:小新 欄目:web開發

小編給大家分享一下怎么用純CSS實現條紋錯覺的動畫效果,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

  代碼解讀

  定義dom,容器中包含2個元素,分別代表2條軌道:

  <divclass="container">

  <spanclass='track'></span>

  <spanclass='track'></span>

  </div>

  居中顯示:

  body{

  margin:0;

  height:100vh;

  display:flex;

  align-items:center;

  justify-content:center;

  background-color:#999;

  }

  定義容器尺寸和子元素的布局方式:

  .container{

  font-size:30px;

  width:calc(13em+0.5em);

  height:8em;

  display:flex;

  flex-direction:column;

  justify-content:space-between;

  }

  定義2個色值,一個亮的和一個暗的:

  .container{

  --dark:#222;

  --light:#ddd;

  }

  畫出2條軌道的輪廓:

  .track{

  width:inherit;

  height:2em;

  border:1pxsolidvar(--dark);

  }

  為2條軌道的背景圖案,圖案是明暗相間的條紋,但第2條軌道要錯半個格:

  .track{

  background:linear-gradient(

  90deg,

  var(--dark)50%,

  var(--light)50%

  );

  background-size:1em;

  }

  .track:nth-child(2){

  background-position:0.5em;

  }

  用偽元素畫出2個矩形:

  .track{

  position:relative;

  display:flex;

  align-items:center;

  }

  .track::before{

  content:'';

  position:absolute;

  width:2em;

  height:0.8em;

  background-color:var(--light);

  }

  讓這2個矩形在軌道上往復移動:

  .track::before{

  animation:move5slinearinfinitealternate;

  }

  @keyframesmove{

  from{

  left:0;

  }

  to{

  left:calc(100%-2em);

  }

  }

  此時,兩個矩形看起來是一先一后地前進的,但實際上它們是在同一時刻開始并且以相同的速度在移動。接下來我們來揭秘真相。

  在dom中增加一個子元素,作為按鈕;

  <pclass="container">

  <spanclass='track'></span>

  <spanclass='track'></span>

  <spanclass="toggle">Showmethetruth</span>

  </p>

  設置按鈕的樣式:

  .toggle{

  order:-1;

  width:10em;

  height:2em;

  border:2pxsolidvar(--dark);

  border-radius:0.2em;

  font-size:0.5em;

  font-family:sans-serif;

  font-weight:bold;

  color:black;

  text-align:center;

  line-height:2em;

  cursor:pointer;

  user-select:none;

  }

  為按鈕設置與軌道風格類似的背景,以及鼠標懸停效果:

  .toggle{

  background-image:linear-gradient(toright,#ddd50%,#99950%);

  background-size:1em;

  transition:0.5s;

  }

  .toggle:hover{

  background-position:5em;

  }

  增加一段點擊按鈕時觸發的腳本,為軌道元素切換樣式:

  let$toggle=document.getElementsByClassName('toggle')[0]

  let$tracks=Array.from(document.getElementsByClassName('track'))

  $toggle.addEventListener('click',function(){

  $tracks.forEach(track=>track.classList.toggle('highlights'))

  })

  終于,謎底就在切換樣式之后被揭曉了:

  .track::before{

  box-sizing:border-box;

  border:solidvar(--dark);

  border-width:0;

  }

  .track.highlights::before{

  background-color:white;

  border-width:0.1em;

  }



怎么用純CSS實現條紋錯覺的動畫效果


看完了這篇文章,相信你對“怎么用純CSS實現條紋錯覺的動畫效果”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

css
AI

靖边县| 龙川县| 双柏县| 霍林郭勒市| 龙州县| 南宁市| 军事| 锦屏县| 赤壁市| 牡丹江市| 离岛区| 夏河县| 镇江市| 千阳县| 棋牌| 新蔡县| 北碚区| 闻喜县| 南召县| 凌云县| 马龙县| 甘谷县| 惠水县| 洛阳市| 商河县| 驻马店市| 浦江县| 修武县| 赤城县| 常熟市| 固原市| 湖北省| 定兴县| 公安县| 龙井市| 泗洪县| 耒阳市| 绥阳县| 河东区| 济南市| 永丰县|