精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

快速了解 CSS @starting-style 規則

開發 前端
最近 Chrome 117,CSS 又悄悄推出了一個新的的@規則,叫做??@starting-style??。從名稱上來看,表示定義初始樣式。那么,具體是做什么的?有什么用?一起了解一下吧!

一、快速了解 @starting-style

通常做一個動畫效果,你可能會考慮 transition 和 animation。

相對于animation,transition使用更簡單,但是有一定條件,需要有狀態的改變,例如手動添加一個class。

div{
  transform: scale(0)
}
div.show{
  transform: scale(1)
}

示意如下:

但是,如果這個show是一開始就存在的,比如:

<div class="show">
  
</div>

這樣在頁面打開的時候,肯定也是沒有過渡效果的,因為沒有狀態的變化。

在以前,我們可以換成用animation的方式,這樣即使是一開始存在的,也能有動畫效果,因為animation是可以自動運行的。

不過到了現在,我們可以用transition的方式來實現了,將上面的例子改寫一下。

div{
  transform: scale(1);
  transition: 1s;
}
@starting-style {
  div{
    transform: scale(0);
  }  
}

這里的@starting-style表示初始樣式,相當于在渲染之前就有了一個初始狀態,這樣也就算有狀態變化了。

實際效果如下(每次刷新瀏覽器都有放大動畫)。

這樣,即使不手動添加狀態也能觸發過渡動效了,這就是@starting-style。

二、元素添加時添加過渡

有時候,即使是手動添加class,也無法保證一定能觸發過渡動效,比如新創建的元素。

const div = document.createElement('div')
div.className = 'show' //過渡無效,直接就生效了
document.body.append(div)

這種情況下,transition就失效了,因為你在添加class的時候元素還未完全渲染。

要解決這個問題,之前也有幾種方式。

首先是定時器,添加一點點延時。

settimeout(()=>{
  div.className = 'show'
},50)

還有一種方式,主動觸發元素的渲染,強制重繪。

div.clientWidth // 強制觸發重繪
div.className = 'show'

另外,還可以用動畫animation來代替,這樣也能主動觸發動畫。

.show{
  animation: ...
}

現在,使用@starting-style也能實現這樣的效果。

div.show{
  transition: 1s;
}
@starting-style {
  div{
    transform: scale(0);
  }  
}

下面是一個元素出現過渡效果:

你也可以訪問以下鏈接查看實際效果(Chrome 117+)

  • CSS @style-rule (juejin.cn)[1]
  • CSS @style-rule (codepen.io)[2]

這讓我想起了之前做過一個message效果,實現原理是這樣的,如果頁面上還沒有 message元素,就先創建,然后添加show類名,讓這個元素出現,這里就是通過強制觸發重繪實現的。

function showMessage(txt){
    this.timer && clearTimeout(this.timer);
    var oDiv = document.getElementById('messageInfo');
    if(!oDiv){
      oDiv = document.createElement('div');
      oDiv.className = 'messageInfo';
      oDiv.id = 'messageInfo';
      document.body.appendChild(oDiv);
    }
    oDiv.innerHTML = '<span>'+txt+'</span>';
  	div.clientWidth; // 強制觸發重繪
    oDiv.classList.add('show');
    this.timer = setTimeout(function(){
      oDiv.classList.remove('show');
    },2000)
}

效果如下,第一次創建的時候也有過渡效果:

有興趣的可以回顧之前這篇4年前的文章:css3元素出現動畫實例 。

三、讓 display:none 也支持過渡

大家可能知道,當一個元素從display:none變成display:block時,是無法觸發過渡效果的,即便有一些過渡屬性。

div{
  display: none;
  transition: 1s;
  transform: scale(0)
}
div.show{
  display: block;
  transform: scale(1)
}

像這種情況下沒有過渡效果的,如下:

不過,現在有了@starting-style,也能輕易實現過渡效果,不管你有沒有display:none。

/*僅需添加一個初始狀態*/
@starting-style {
  div{
    transform: scale(0);
  }  
}

效果如下:

遺憾的是,從display:block變為display:none是無法觸發過渡效果的。

另外,原生組件很多的隱藏和顯示都是直接通過display:none實現的,例如dialog,可以直接添加@starting-style規則來實現打開動畫,而無需改變默認 display。

dialog{
  transition: 1s;
}
@starting-style {
  dialog{
    transform: scale(0);
  }  
}

效果如下:

你也可以訪問以下鏈接查看實際效果(Chrome 117+)

  • CSS @style-rule display (juejin.cn)[3]
  • CSS @style-rule display (codepen.io)[4]

四、總結一下

一個可以改變元素初始狀態的新特性,你學到了嗎?

  • transition 需要有狀態的改變才能觸發過渡效果。
  • animation 無需狀態改變,因為可以自動運行。
  • @starting-style 可以改變元素的初始狀態,讓元素在初次渲染時也有過渡效果。
  • @starting-style 可以在元素添加時直接添加過渡效果。
  • @starting-style 可以讓 display:none 也支持過渡。

不過像這樣的 CSS 特性注定是冷門屬性,主要是可替代性太強了,而且不知道什么時候才可以正式投入使用,現在就當提前了解吧。

[0]css3元素出現動畫實例: https://segmentfault.com/a/1190000018889396。

[1]CSS @style-rule (juejin.cn): https://code.juejin.cn/pen/7299436237318799423。

[2]CSS @style-rule (codepen.io): https://codepen.io/xboxyan/pen/ZEwKYpR。

[3]CSS @style-rule display (juejin.cn): https://code.juejin.cn/pen/7299479246152400896。

[4]CSS @style-rule display (codepen.io): https://code.juejin.cn/pen/7299479246152400896。

責任編輯:姜華 來源: 前端偵探
相關推薦

2023-11-06 09:24:14

CSS相對顏色

2024-07-24 10:58:32

2024-03-25 09:20:22

CSS語法fixed

2015-08-26 16:17:49

OpenStack OpenStack 架開源云平臺

2020-10-22 08:50:04

Cascading S

2010-08-25 09:11:57

DIVCSS

2009-11-13 15:55:52

Oracle哈希連接

2022-08-04 18:50:12

Navigator瀏覽器設備

2021-11-22 22:14:46

JavaScript開發模塊

2009-11-17 09:47:54

Oracle SQL語

2016-12-30 13:43:35

異步編程RxJava

2010-09-14 15:04:42

list-styleCSS

2010-09-07 15:17:47

CSS優先權CSS

2010-08-27 13:07:00

CSS規則

2010-08-30 10:46:13

DIV+CSS

2021-05-06 07:26:55

CSS 文字動畫技巧

2010-08-25 13:48:51

CSSlist-style-

2009-11-12 10:05:09

Visual C++

2010-01-12 10:23:52

路由最佳路徑

2020-12-28 08:29:47

Vuecss框架
點贊
收藏

51CTO技術棧公眾號

国产精品视频公开费视频| 亚洲国产成人一区| 一区二区三区我不卡| 国产av无码专区亚洲av麻豆| 亚洲美女毛片| 亚洲一级免费视频| 中文字幕在线视频一区二区三区| 国产亚av手机在线观看| 久久久久国产精品麻豆ai换脸| 国产精品美乳一区二区免费| 色在线观看视频| 亚洲精品进入| 欧美顶级少妇做爰| 男人日女人bb视频| 国产精品久久久久久福利| 白白色 亚洲乱淫| 国产精品揄拍一区二区| 精品无码久久久久久久久| 成人综合久久| 亚洲国产精品久久久久| 久久撸在线视频| 大桥未久在线视频| 最新不卡av在线| 女同一区二区| 性一交一乱一色一视频麻豆| 久热精品在线| 午夜伦理精品一区| 成人免费视频网站入口::| 亚洲永久精品唐人导航网址| 欧美一区二区日韩一区二区| 91精品成人久久| 中国1级黄色片| 欧亚精品一区| 欧美xingq一区二区| 久久婷婷综合色| 中文字幕一区久| 亚洲3atv精品一区二区三区| 超碰97在线看| 91亚洲精选| 国产三级精品三级在线专区| 精品国产aⅴ麻豆| 亚洲av无码乱码国产精品| 六月丁香婷婷色狠狠久久| 日本中文字幕不卡免费| 天堂网一区二区三区| 午夜精品av| 在线播放91灌醉迷j高跟美女| 国产日韩一区二区在线| av不卡高清| 亚洲在线免费播放| 精品久久久无码人妻字幂| 三区四区在线视频| 久久久无码精品亚洲日韩按摩| 国产高清在线一区二区| 粉嫩av一区二区夜夜嗨| 国产精品亚洲视频| 97中文在线| 国产裸体永久免费无遮挡| 久久99精品网久久| 成人黄色午夜影院| 国产精品爽爽久久久久久| 美女网站一区二区| 国产精品欧美风情| 亚洲午夜精品久久久| 久久激情五月婷婷| 成人激情春色网| 国产精品久久久久久久久久久久久久久久久久 | 91欧美视频网站| 97精品人妻一区二区三区| 久久精品久久精品| 91色中文字幕| 亚洲成人中文字幕在线| 高清shemale亚洲人妖| 欧美国产日韩xxxxx| 日本精品人妻无码77777| 欧美va天堂在线| 久久久女人电视剧免费播放下载 | 欧美色综合一区二区三区| 91免费精品国自产拍在线不卡| 麻豆精品蜜桃一区二区三区| 激情在线视频| 国产精品美女久久久久久2018| 亚洲在线播放电影| 欧美videosex性极品hd| 精品久久香蕉国产线看观看gif| av动漫在线观看| 欧美日韩女优| 日韩视频一区在线观看| 欲求不满的岳中文字幕| 精品一区在线| 中文字幕在线亚洲| 欧美 日韩 国产 一区二区三区| 午夜久久黄色| 欧美最猛性xxxxx免费| 在线播放国产一区| 国产v日产∨综合v精品视频| 欧美精品成人一区二区在线观看| av在线免费播放网站| 一区二区三区视频在线看| 国产免费观看高清视频| 欧美91在线|欧美| 精品国产乱码久久久久久蜜臀| 一区二区不卡免费视频| 91综合视频| 91成人福利在线| 一级特黄录像免费看| 成人黄色大片在线观看 | 91福利视频免费观看| 日韩精选在线| 欧美xxxx18性欧美| 无码任你躁久久久久久久| 久久99久久99小草精品免视看| 国产日韩二区| 欧美日本高清| 欧美日韩在线视频一区| 秋霞午夜鲁丝一区二区| 国产一区不卡| 午夜精品久久久久久99热| 一级久久久久久久| 91最新地址在线播放| 国产系列第一页| 在线中文字幕播放| 精品少妇一区二区三区 | 亚洲一区二区美女| 欧美美女性视频| 日韩av网址大全| 欧美激情久久久久久| 亚洲在线观看av| 国产亚洲综合av| 日韩欧美一区二| 亚洲1区在线| 久久精品国产成人| 国产成人a v| 91欧美一区二区| 国产自产在线视频| 久久综合给合| 久久综合伊人77777| 在线免费观看一区二区| 久久久久久99久久久精品网站| 97中文字幕在线| 国产在线视频欧美一区| 中文字幕亚洲欧美日韩在线不卡| 美女又爽又黄免费视频| heyzo一本久久综合| 日本一本中文字幕| 91亚洲精品视频在线观看| 久久国产精品免费视频| 国产精品毛片一区视频播| 国产精品久久久久久亚洲毛片| www亚洲成人| 久久麻豆视频| 国产亚洲人成网站在线观看| www.国产一区二区| 久久综合久久99| 精品中文字幕av| 婷婷精品在线| 日韩女优人人人人射在线视频| 性xxxx视频播放免费| 午夜视频在线观看一区二区| 国产成人av无码精品| 亚洲狼人精品一区二区三区| 国产精选一区二区| av成人 com a| 精品亚洲一区二区三区在线播放| 精品成人av一区二区在线播放| www.在线成人| 国产午夜福利视频在线观看| 国产一区二区三区四区五区| 国产精品美女网站| 成人免费网站在线观看视频| 日韩一卡二卡三卡四卡| 精品少妇爆乳无码av无码专区| 丁香婷婷综合激情五月色| 久久亚洲中文字幕无码| 亚洲精品进入| 国产自产女人91一区在线观看| 黄色网址在线免费观看| 精品精品国产高清a毛片牛牛| 国产精品99精品| 久久伊人蜜桃av一区二区| 爱情岛论坛亚洲首页入口章节| 婷婷综合亚洲| 国产区二精品视| 91精品国产经典在线观看| 久久久成人精品视频| www.亚洲黄色| 欧美性猛交xxxx黑人| 91麻豆制片厂| 成人免费视频caoporn| 国产成人a亚洲精v品无码| 99久久.com| 国模精品娜娜一二三区| 国产一区二区三区朝在线观看| 久久久精品欧美| 欧美在线精品一区二区三区| 在线观看免费亚洲| 日韩欧美中文字幕视频| 久久―日本道色综合久久| 国产精品久久久毛片| 国产精品激情| 亚洲.欧美.日本.国产综合在线| 免费看一区二区三区| 欧美一级大胆视频| 182tv在线播放| 欧美日韩国产天堂| 国产一级二级毛片| 亚洲国产高清不卡| 亚洲香蕉中文网| 美女mm1313爽爽久久久蜜臀| 国产3p露脸普通话对白| 久久神马影院| 免费中文日韩| www.豆豆成人网.com| 国产精品夜间视频香蕉| 鲁鲁在线中文| 成年人精品视频| 成a人v在线播放| 日韩国产精品一区| www.天堂av.com| 欧美高清hd18日本| 亚洲天堂视频在线播放| 欧美日韩裸体免费视频| 青青草国产在线观看| 日本一区二区三区在线不卡| 亚洲图片综合网| 国产成人一级电影| 97人人爽人人| 日韩国产成人精品| 日本不卡在线观看视频| 国产精品第十页| 免费在线精品视频| 日产精品一区二区| 奇米影视首页 狠狠色丁香婷婷久久综合| 亚洲一区二区三区日本久久九| 国产精品美女久久久久久免费| 中文字幕在线高清| 欧美极品第一页| 青青草原av在线| 欧美成人中文字幕| 国产黄a三级三级三级av在线看| 在线观看亚洲视频| 狠狠v欧美ⅴ日韩v亚洲v大胸 | 日韩国产福利| 亚洲国产精品99| 人妻一区二区三区四区| 欧美变态凌虐bdsm| 国产三级精品在线观看| 欧美精品高清视频| 911美女片黄在线观看游戏| 欧美性大战久久久久久久蜜臀| √资源天堂中文在线| 日韩欧美999| 久久国产黄色片| 色综合色综合色综合| 你懂的国产在线| 色88888久久久久久影院野外| 欧美一区二区三区不卡视频| 色婷婷国产精品| 免费又黄又爽又猛大片午夜| 91久久精品一区二区三| 91麻豆精品在线| 欧美中文字幕一区二区三区亚洲| 午夜视频网站在线观看| 欧美亚洲综合一区| 91成人一区二区三区| 91精品国产综合久久精品app| a级片免费视频| 欧美精品一区二区三| 深夜视频在线免费| 夜夜躁日日躁狠狠久久88av | 中文字幕国产精品一区二区| 老司机精品免费视频| 亚洲天天做日日做天天谢日日欢| 99热精品免费| 亚洲电影第三页| 色欲AV无码精品一区二区久久| 久久精品欧美一区二区三区不卡 | 午夜国产一区二区三区| 久久99精品久久久久久国产越南| 国产性生活一级片| k8久久久一区二区三区| 欧美激情aaa| 亚洲视频免费观看| 国产无套粉嫩白浆内谢| 色哟哟亚洲精品| 中文字幕欧美人妻精品| 日韩欧美卡一卡二| 日本一区视频| 久久色在线播放| 国产精品电影| 国产免费亚洲高清| 9999久久久久| 色综合电影网| 欧美成人国产| 日韩精品一区二区三区色欲av| 日本网站在线观看一区二区三区| 黄色一级片免费播放| 久久综合视频网| 东方av正在进入| 色婷婷综合久久久中文字幕| 国产精品久久久久毛片| 亚洲精品久久久久久久久| av在线电影网| 欧美一区二粉嫩精品国产一线天| 欧美××××黑人××性爽| www.久久爱.cn| 全球成人免费直播| 国产不卡一区二区视频| 久久精品免费观看| 538国产视频| 亚洲精品一二三区| 正在播放亚洲精品| 亚洲国产成人久久综合| 国产精品va在线观看视色| 欧美最猛黑人xxxx黑人猛叫黄| 精品视频一区二区三区| 少妇免费毛片久久久久久久久| 国内激情久久| 亚洲精品综合在线观看| 久久久高清一区二区三区| 黄色小说在线观看视频| 91麻豆精品国产91| 成人在线免费电影| 8x拔播拔播x8国产精品| 2020国产精品极品色在线观看| 亚洲精品二区| 日韩综合小视频| 亚洲精品乱码久久| 一区二区三区免费观看| 在线免费观看视频网站| 一区二区三区黄色| 超碰超碰人人人人精品| 精品日产一区2区三区黄免费 | 欧美成人免费全部| 久久免费影院| 神马影院我不卡午夜| 欧美亚洲自偷自偷| 免费成人深夜夜行p站| 图片区小说区区亚洲影院| 亚洲精品97久久中文字幕无码| 日韩少妇与小伙激情| 久久91超碰青草在哪里看| 欧洲亚洲一区二区| 久久看片网站| 91精彩刺激对白露脸偷拍| 欧美日韩国产页| 天堂在线中文资源| 78色国产精品| 蜜乳av综合| 日本新janpanese乱熟| 国产欧美日韩在线观看| 中文字幕免费高清在线观看| 色av吧综合网| 激情久久免费视频| 日韩人妻一区二区三区蜜桃视频| 国产一区二区在线影院| 黄视频网站免费看| 日韩欧美一二三| 丁香花在线高清完整版视频| 国产九区一区在线| 亚洲一区二区毛片| 欧美人妻一区二区三区| 欧美性大战久久久久久久蜜臀| 欧美成人性生活视频| 91久久精品国产91久久| 亚洲视频福利| 亚洲精品乱码久久久久久不卡| 欧美性猛交xxxx乱大交蜜桃| 国产原创av在线| 国产精品一区电影| 中文av一区| 少妇一级淫免费观看| 91福利国产精品| 国产超级va在线视频| 精品欧美日韩在线| 日产国产欧美视频一区精品| 成年人午夜剧场| 精品国产网站在线观看| 亚洲美女尤物影院| 一区二区视频在线免费| 懂色av一区二区在线播放| 久久久久久久久久久久久av| 日韩视频免费看| 韩国女主播一区二区三区| 欧美自拍小视频| 一区二区三区在线观看视频| 男人久久精品| 亚洲一区二区三区毛片| 国产人成精品一区二区三| 日韩av网站在线播放| 精品久久久久久久久久久久久久久| 3d性欧美动漫精品xxxx软件| 一区二区三区四区免费观看| 91欧美一区二区| www.五月婷婷| 国产精品亚洲欧美导航| 亚洲激情网址| 午夜三级在线观看| 亚洲精选在线观看| 日韩在线视频一区二区三区|