摘要:然而并不是,以下摘要自不為元素預(yù)留空間,而是通過(guò)指定元素相對(duì)于屏幕視口的位置來(lái)指定元素位置。當(dāng)元素祖先的屬性非時(shí),容器由視口改為該祖先。然而,滾動(dòng)的滾動(dòng)條,元素并沒(méi)有按照想象中那樣固定在容器的一個(gè)位置上,而是表現(xiàn)為的效果。
請(qǐng)使用chrome瀏覽器敲打例子代碼!
長(zhǎng)久以來(lái),我和部分同學(xué)對(duì)css中position:fixed的理解是該元素相對(duì)屏幕視口的定位。然而并不是,以下摘要自[MDN](
https://developer.mozilla.org...:
position:fixed
不為元素預(yù)留空間,而是通過(guò)指定元素相對(duì)于屏幕視口(viewport)的位置來(lái)指定元素位置。元素的位置在屏幕滾動(dòng)時(shí)不會(huì)改變。打印時(shí),元素會(huì)出現(xiàn)在的每頁(yè)的固定位置。fixed
屬性會(huì)創(chuàng)建新的層疊上下文。當(dāng)元素祖先的 transform 屬性非
none 時(shí),容器由視口改為該祖先。
什么意思呢?我們用例子來(lái)表示。
下面的例子是元素相對(duì)body的定位:
我是fixed元素我是其他元素
body { height: 2000px; } .son { position: fixed; left: 100px; top: 100px; width: 100px; height: 100px; background: #f00; } .other { height: 1000px; }
這個(gè)例子里,body的滾動(dòng)條滾動(dòng)后,son元素的位置都是相對(duì)屏幕視口的位置。根據(jù)MDN的說(shuō)明,改下代碼的css部分添加parent元素樣式:
.parent { margin-top: 100px; height: 500px; overflow-y: auto; background: #ff0; transform: translate(0,0); }
這個(gè)時(shí)候,會(huì)發(fā)現(xiàn)滾動(dòng)body的滾動(dòng)條的時(shí)候,son元素跟著parent一起走了。然而,滾動(dòng)parent的滾動(dòng)條,son元素并沒(méi)有按照想象中那樣固定在parent容器的一個(gè)位置上,而是表現(xiàn)為absolute的效果。(這樣就不能做我們心愛(ài)的吸頂效果了)。
整個(gè)例子下來(lái),就總結(jié)出一句:這不是蛋疼嗎?既然fixed在transform里變成了absolute的行為,為毛transform還要去影響fixed呢?
引用:
https://developer.mozilla.org...
http://www.zhangxinxu.com/wor...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/113213.html
摘要:注意當(dāng)該固定元素的祖先元素的屬性非時(shí),容器由瀏覽器窗口改為該祖先元素粘性定位,相當(dāng)于相對(duì)定位和固定定位的混合。粘性定位根據(jù)一個(gè)閾值決定,在大于等于閾值時(shí)采用相對(duì)定位,小于閾值后則為固定定位。理論上來(lái)說(shuō),全部 position 的取值有8個(gè) 包括:position:static | relative | absolute | fixed | sticky | initial | inherit...
摘要:定位的起始位置為此元素原先在檔流的位置。忽略和從父元素繼承該屬性的值以上的和可以使得元素脫離文檔流。絕對(duì)定位脫離檔流的布局,遺留下來(lái)的空間由后的元素填充。默認(rèn)定位表示此元素為默認(rèn)定位式。 Position(定位) position可以取五個(gè)值 參數(shù) 描述 absolute 絕對(duì)定位;脫離?檔流的布局,遺留下來(lái)的空間由后?的元素填充。定位的起始位置為最近的?元素(postio...
摘要:可以感受下種不同取值的不同效果使用實(shí)現(xiàn)滾動(dòng)視差首先,我們使用來(lái)實(shí)現(xiàn)滾動(dòng)視差。何為滾動(dòng)視差 視差滾動(dòng)(Parallax Scrolling)是指讓多層背景以不同的速度移動(dòng),形成立體的運(yùn)動(dòng)效果,帶來(lái)非常出色的視覺(jué)體驗(yàn)。 作為網(wǎng)頁(yè)設(shè)計(jì)的熱點(diǎn)趨勢(shì),越來(lái)越多的網(wǎng)站應(yīng)用了這項(xiàng)技術(shù)。 通常而言,滾動(dòng)視差在前端需要輔助 Javascript 才能實(shí)現(xiàn)。當(dāng)然,其實(shí) CSS 在實(shí)現(xiàn)滾動(dòng)視差效果方面,也有著不俗...
摘要:怎樣才能讓粘性定位起作用粘性定位有兩個(gè)主要部分,粘性元素和粘性容器。這是粘性元素可以浮動(dòng)的最大區(qū)域。最好是在以粘性容器底部為自然位置的元素上使用它。 翻譯:瘋狂的技術(shù)宅原文:https://medium.com/@elad/css-... 本文首發(fā)微信公眾號(hào):jingchengyideng歡迎關(guān)注,每天都給你推送新鮮的前端技術(shù)文章 瀏覽器對(duì) CSS粘性定位有著非常好的支持,但很多...
摘要:怎樣才能讓粘性定位起作用粘性定位有兩個(gè)主要部分,粘性元素和粘性容器。這是粘性元素可以浮動(dòng)的最大區(qū)域。最好是在以粘性容器底部為自然位置的元素上使用它。 翻譯:瘋狂的技術(shù)宅原文:https://medium.com/@elad/css-... 本文首發(fā)微信公眾號(hào):jingchengyideng歡迎關(guān)注,每天都給你推送新鮮的前端技術(shù)文章 瀏覽器對(duì) CSS粘性定位有著非常好的支持,但很多...
閱讀 2076·2019-08-30 15:53
閱讀 3073·2019-08-30 15:44
閱讀 2920·2019-08-30 14:11
閱讀 2916·2019-08-30 14:01
閱讀 2705·2019-08-29 15:16
閱讀 3751·2019-08-29 13:10
閱讀 1249·2019-08-29 10:56
閱讀 2532·2019-08-26 13:58