圖層布局問題

關(guān)于層級的zIndex/elevation

1、zIndex是rn在0.30開始支持的屬性,是可以生效的;
2、shadow和elevation
.shadow(陰影)開頭的樣式現(xiàn)在可以在iOS上應(yīng)用,但在安卓中是不生效的.
.而Android上對應(yīng)的屬性是elevationelevation。
設(shè)置elevation屬性就等價(jià)于使用原生的elevation API,因而也有同樣的限制(比如最明顯的就是需要Android 5.0以上版本)。此外還會影響到層疊視圖在空間z軸上的順序。

結(jié)論

對于Android,兩個(gè)同一層級的定位組件(position:“absolute”)

情況 在z軸的層疊關(guān)系

既沒有ZIndex屬性,又沒有elevation 屬性 由其擺放位置決定的,放在下面的組件會在上層
兩個(gè)組件只有zIndex沒有elevation屬性時(shí) zIndex大的在上層
兩個(gè)組件有elevation屬性 elevation大的在上層
兩個(gè)組件既有zIndex屬性elevation屬性 以elevation為準(zhǔn)

注:對于IOS,同層級的組件,z軸的層疊關(guān)系只與擺放順序與zIndex有關(guān),與elevation無關(guān)

RN中的position屬性的默認(rèn)值是relative。只支持兩個(gè)值relative | absolute。了解CSS的同學(xué)對它應(yīng)該很熟悉,relative指的是相對定位,配合top, right, bottom, left四個(gè)方位屬性,加上z-index堆疊順序來對一個(gè)元素進(jìn)行相對于自己左上角為原點(diǎn)的定位。
absolute即絕對定位,它是相對于父級元素的左上角為原點(diǎn)來定位。
絕對定位的元素不會占據(jù)原有的流式空間,后面的元素會“補(bǔ)上來”,

Note: 在android上,react native 5.7彈出動(dòng)畫只在當(dāng)前彈出位置區(qū)域內(nèi)可以顯示在最上層,區(qū)域外則在內(nèi)層,
如果要效果好,在彈出的區(qū)域內(nèi)停留相對久一點(diǎn).

參考:
http://www.itdecent.cn/p/2bafbef78fd9
https://blog.csdn.net/al4fun/article/details/80253364

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容