亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

CSS3動(dòng)畫的硬件加速的問(wèn)題。。

瀏覽:137日期:2023-07-05 15:09:59

問(wèn)題描述

查資料好像是這么說(shuō)的:CSS3硬件加速觸發(fā)時(shí)候,會(huì)創(chuàng)建一個(gè)新的層,其中的圖像會(huì)用GPU進(jìn)行渲染,來(lái)提高性能。

這樣有了一個(gè)問(wèn)題呀,最近寫東西時(shí)候,發(fā)現(xiàn)如果子級(jí)元素觸發(fā)了硬件加速渲染的動(dòng)畫,如果父級(jí)也是硬件渲染的,就算父級(jí)沒(méi)有動(dòng)畫效果,也會(huì)在硬件渲染層里觸發(fā)父級(jí)的重繪。

下面是我簡(jiǎn)單寫了一個(gè)示例,父級(jí).p用transform屬性來(lái)調(diào)整了下位置,子元素a標(biāo)簽在hover時(shí)觸發(fā)了opacity的過(guò)渡動(dòng)畫效果的話,會(huì)發(fā)現(xiàn)父級(jí)元素也被重繪了。

用谷歌的layer border可以看到:CSS3動(dòng)畫的硬件加速的問(wèn)題。。

父級(jí)也在層里面,而且用paint flashing也會(huì)看到,父級(jí)也會(huì)被重繪,而這根本是沒(méi)必要的。。我的實(shí)際情況中,父級(jí)元素內(nèi)還有個(gè)圖片,如果圖片被重繪的話就會(huì)變模糊一段時(shí)間。。。

如果取消了父級(jí)的transform屬性,就不會(huì)觸發(fā)父級(jí)的重繪了。CSS3動(dòng)畫的硬件加速的問(wèn)題。。

該怎么辦才能使a標(biāo)簽觸發(fā)動(dòng)畫時(shí),不讓父元素也跟著重新渲染呢?

想過(guò)更改父元素定位的方法,不用transform了。。。但是貌似還要改dom結(jié)構(gòu)啊。。有沒(méi)有什么設(shè)置可以讓某個(gè)元素禁止使用硬件加速呀。。。

<!DOCTYPE html><html><head> <meta charset='UTF-8'> <title>test2</title> <style>*{ margin: 0; padding: 0; border: none;}body,html{ width: 100%; height: 100%;}.p{ width: 300px; height: 180px; background-color: #888; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);}.p a{ position: absolute; width: 40%; height: 80%; top: 10%; opacity: 0; transition: opacity 1s; background-color: #333;}.p a:hover{ opacity: 1;}.prev{ left: 0;}.next{ right: 0;} </style></head><body><p class='p'> <a class='prev'></a> <a class='next'></a></p></body></html>

問(wèn)題解答

回答1:

可能概念沒(méi)有描述清楚。chromium/webkit硬件加速中

transform case需要3D變換才會(huì)創(chuàng)建新的合成層 也就是例子中translate3d(-50%,-50%,0)即可。通常啟用使用translateZ(0);

opacity和過(guò)渡/動(dòng)畫case 需要?jiǎng)赢媹?zhí)行的過(guò)程中才會(huì)創(chuàng)建合成層,也就是過(guò)渡或動(dòng)畫沒(méi)有開始或結(jié)束后元素還會(huì)回到之前的狀態(tài),這也解釋了例子中過(guò)渡開始和結(jié)束父極元素會(huì)重繪,過(guò)程:移除元素(這里元素是渲染內(nèi)部表示RenderObject/Layer,下同)->創(chuàng)建合成層,過(guò)渡動(dòng)畫,刪除合成層->移回元素;

附:這里移除父極的transform就好了可能是因?yàn)閠ransform:translate破壞了父極的渲染層,創(chuàng)建了新渲染層但又未達(dá)到創(chuàng)建合成層(使用硬件加速)的條件,且使得其與其子元素p處于同一個(gè)渲染層(一般情況),子元素的離開和加入使其重繪。(這個(gè)結(jié)論的來(lái)源:使子元素啟用硬件加速,完全脫離父元素,如給其加tranform 3d變換 translateZ(0);)

標(biāo)簽: CSS
相關(guān)文章:
主站蜘蛛池模板: 精品一区二区三区免费毛片爱 | 日本大片免a费观看视频+播放器 | 国产叼嘿久久精品久久 | 久在草视频 | 美女动作一级毛片 | 九九在线精品 | 91免费高清视频 | 亚洲综合日韩欧美一区二区三 | 麻豆国产高清精品国在线 | 婷婷国产成人久久精品激情 | 久久成人精品 | 一区影院 | 亚洲高清在线视频 | 黄网址在线观看 | 国产三级精品在线 | 另类图片成人偷拍 | 青草视频在线免费 | 国产人做人爱视频精品 | 黄色黄站| 亚洲丁香婷婷 | 三级黄.色 | 免费观看国产网址你懂的 | 国产美女在线精品亚洲二区 | 国产精品福利在线观看 | 中日韩精品视频在线观看 | 91网址在线观看 | 国产成人午夜精品免费视频 | 亚洲自偷自偷精品 | 色婷婷综合久久久 | 亚洲精品视频在线 | 一区二区三区在线免费观看视频 | 在线日本人观看成本人视频 | 99久久国产综合精品成人影院 | 欧美三级视频 | 国产亚洲精品日韩综合网 | 99久久免费国产精品m9 | 1024手机在线精品观看 | 欧美一级特黄做 | 国产午夜精品福利视频 | 黄网站免费在线 | 色 在线播放|