CSS3 中的過渡效果給我們帶來了更加自由的樣式展示方式,其中從下往上出現的效果也成為了網頁設計中常用的一種效果。下面將介紹如何使用 CSS3 實現從下往上出現的效果。
首先,我們需要為展示的元素添加一個類名,例如我們這里添加的是 “reveal-from-bottom”:
.reveal-from-bottom { opacity: 0; transform: translateY(25px); transition: opacity 0.4s ease-out, transform 0.4s ease-out; }
上面的代碼中,我們設置了元素的透明度為 0(opacity: 0),并向上偏移了 25 像素(transform: translateY(25px)),同時設置了過渡效果,讓元素顯現出來時有個逐漸顯示的動畫效果。
接下來,我們需要通過 JavaScript 動態地為元素添加一個新的類名,使其顯現出來。代碼如下:
function reveal() { var elements = document.getElementsByClassName('reveal-from-bottom'); for (var i = 0; i< elements.length; i++) { var element = elements[i]; if (isElementInViewport(element)) { element.classList.add('reveal-visible'); } else { element.classList.remove('reveal-visible'); } } } function isElementInViewport(element) { var rect = element.getBoundingClientRect(); var windowHeight = (window.innerHeight || document.documentElement.clientHeight); return (rect.bottom >= 0 && rect.top<= windowHeight); } window.addEventListener('scroll', reveal);
上面的代碼中,我們首先獲取了所有需要實現從下往上出現效果的元素(document.getElementsByClassName('reveal-from-bottom')),并判斷元素是否處于可視區域內(isElementInViewport())。如果元素處于可視區域內,則為元素添加新的類名 “reveal-visible”,否則移除該類名。
最后,我們需要為新添加的類名設置樣式,使元素實現動畫效果。代碼如下:
.reveal-visible { opacity: 1; transform: translateY(0); }
上面的代碼中,我們將元素的透明度設為 1(opacity: 1),同時將元素向上偏移量設為 0(transform: translateY(0)),從而實現了元素從下往上逐漸顯示出來的效果。
通過上述代碼的實現,我們可以簡單地使用 CSS3 和 JavaScript 實現從下往上出現的效果,為網頁設計增加一些新的元素展示方式。
上一篇css3 九宮格 邊框
下一篇mysql查詢表中的列名