一個(gè)關(guān)于css的定位問題?
問題描述
最近在用react實(shí)踐一個(gè)類似模態(tài)框的組件,要求在中間彈出一個(gè)窗口,實(shí)際上這個(gè)react bootstrap組件庫中也有相關(guān)實(shí)現(xiàn),但是提到:
這個(gè)modal要直接渲染到body下面,否則可能出現(xiàn)定位不準(zhǔn)確的問題。
看上去蠻有道理的樣子,react bootstrap實(shí)現(xiàn)的過程還費(fèi)了一番周折,用到了unstable_renderSubtreeIntoContainer這個(gè)方法。
但是我始終想不明白什么時(shí)候會(huì)出現(xiàn)定位不對(duì)的問題,因?yàn)槿绻昧薴ixed,那不就是相對(duì)于瀏覽器視窗進(jìn)行定位了么,跟掛在哪一個(gè)節(jié)點(diǎn)下有什么關(guān)系??
我大概抽象出來了自己實(shí)現(xiàn)的css邏輯:
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Title</title> <style>.modal{ width: 200px; height:200px; position: fixed; top:calc(50% - 100px); left:calc(50% - 100px); background: grey; display: flex;}.modal p{ margin: auto;}.modalOuter{ width: 400px; height:40%; position: fixed;} </style></head><body><div> <div><p>this is a modal</p> </div></div></body></html>
感覺這個(gè)class="modal"的div放在哪都可以,并沒有什么所謂的定位不對(duì)的問題。
所以想請(qǐng)高手問問:定位不對(duì)的問題到底在什么情況下可以浮現(xiàn)?
問題解答
回答1:一個(gè)關(guān)于css的定位問題?-PHP中文網(wǎng)問答-一個(gè)關(guān)于css的定位問題?-PHP中文網(wǎng)問答
圍觀一下哦,學(xué)習(xí)一下。
回答2:因?yàn)閒ixed元素并不總是相對(duì)于視窗進(jìn)行定位的,父元素發(fā)生變換,也就是transfrom屬性發(fā)生改變,如平移或旋轉(zhuǎn),會(huì)對(duì)固定定位的子元素產(chǎn)生影響。
相關(guān)文章:
1. javascript - 百度echarts series數(shù)據(jù)更新問題2. MySQL客戶端吃掉了SQL注解?3. java - 我設(shè)置了cookie的max age,但是cookie依然在關(guān)閉游覽器后消失了4. css3 - [CSS] 動(dòng)畫效果 3D翻轉(zhuǎn)bug5. javascript - JS設(shè)置Video視頻對(duì)象的currentTime時(shí)出現(xiàn)了問題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...6. python小白的基礎(chǔ)問題 關(guān)于while循環(huán)的嵌套7. java固定鍵值轉(zhuǎn)換,使用枚舉實(shí)現(xiàn)字典?8. php自學(xué)從哪里開始?9. phpstady在win10上運(yùn)行10. 求大神幫我看看是哪里寫錯(cuò)了 感謝細(xì)心解答
