CSS3吸頂動畫是一種非常實用的網(wǎng)頁效果,它能夠使網(wǎng)頁上某個元素在滾動到一定位置時停留在頁面頂部,一般應(yīng)用于導(dǎo)航欄、搜索框等固定條目上。CSS3吸頂動畫實現(xiàn)起來也非常簡單,下面就來看看它的具體實現(xiàn)方式。
/* 設(shè)置元素初始位置 */ .post-nav { position: relative; top: 0; width: 100%; transition: top 0.3s ease; } /* 監(jiān)聽頁面滾動事件 */ $(window).scroll(function() { // 獲取頁面滾動距離 var scrollTop = $(this).scrollTop(); // 獲取元素離頁面頂部的距離 var offsetTop = $('.post-nav').offset().top; // 判斷是否觸發(fā)吸頂效果 if (scrollTop >= offsetTop) { $('.post-nav').css('top', '0'); } else { $('.post-nav').css('top', '-50px'); } });
以上代碼中,我們首先給需要實現(xiàn)吸頂效果的元素設(shè)置了初始位置,即相對于父元素的位置為0。然后監(jiān)聽頁面的滾動事件,在滾動距離大于等于元素距離頁面頂部的距離時,將元素的位置設(shè)置為0,實現(xiàn)吸頂效果;否則,將元素的位置設(shè)置為負(fù)值,使其隱藏在屏幕頂部。
除了使用JavaScript監(jiān)聽頁面滾動事件實現(xiàn)吸頂效果,還可以使用CSS3的position屬性和sticky值來直接實現(xiàn)吸頂效果,代碼如下:
/* 直接使用CSS3實現(xiàn)吸頂效果 */ .post-nav { position: -webkit-sticky; position: sticky; top: 0; }
通過設(shè)置元素的position屬性為sticky,并將top值設(shè)置為0,即可實現(xiàn)吸頂效果。不過需要注意的是,這種方式僅在Chrome、Safari和Firefox瀏覽器中有效,對于IE和Edge瀏覽器不支持。
上一篇mysql查詢封裝
下一篇css3圖片上方添加文字