[英]Vertically Sliding CSS Background Image
我注意到這對Pinterest有很好的效果 。
背景圖像垂直滾動,讓人感覺它比視口大。 我嘗試使用CSS而沒有運氣。
HTML
<div class="out">
<div class="inner">hello</div>
</div>
CSS
@keyframes scrollBgGridLinks {
0% {
transform: translateY(0px);
}
100% {
transform: translateY(-330px);
}
}
.inner {
animation: 35s linear 0s normal forwards 1 scrollBgGridLinks;
background-color: red;
position: absolute;
clip:rect(0px, 50px, 50px, 0px);
width:200px;
}
.out {
height:200px;
}
位於<body>
一個或兩個背景偽元素position: fixed
以高度和寬度百分比position: fixed
。
要在背景上方顯示元素,請使用:
element-to-show-above {
position: relative;
z-index: 1;
}
對於包含大量內容的頁面,將上述屬性應用於包含所有元素的包裝器是有意義的。
“顯示代碼段”並運行它以查看演示。
一個偽元素高度是視口高度和寬度的200%
背景滑動到-50%並使用forwards
選項暫停
注意: Safari目前需要 -webkit-
前綴用於transform屬性。
body { margin: 0; } body:before { content: ''; display: block; -webkit-animation: 80s bg linear forwards; animation: 80s bg linear forwards; background: url(http://i.stack.imgur.com/zawJr.jpg) no-repeat; background-size: 100% 100%; position: fixed; height: 300%; width: 200%; top: 0; left: 0; } @-webkit-keyframes bg { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-50%); transform: translateY(-50%); } } @keyframes bg { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-50%); transform: translateY(-50%); } }
第一個從0開始,滑到-100%。
第二個以100%開始並滑動到0。
它們一起形成一個恆定的運動錯覺,不需要額外的HTML!
body { margin: 0; } body:before { content: ''; display: block; -webkit-animation: 5s bg linear infinite; animation: 5s bg linear infinite; background: url(http://i.stack.imgur.com/zawJr.jpg) no-repeat; background-size: 100% 100%; position: fixed; height: 100%; width: 100%; top: 0; left: 0; } body:after { content: ''; display: block; -webkit-animation: 5s bg2 linear infinite; animation: 5s bg2 linear infinite; background: url(http://i.stack.imgur.com/zawJr.jpg) no-repeat; background-size: 100% 100%; position: fixed; height: 100%; width: 100%; top: 0; left: 0; } @-webkit-keyframes bg { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-100%); transform: translateY(-100%); } } @-webkit-keyframes bg2 { 0% { -webkit-transform: translateY(100%); transform: translateY(100%); } 100% { -webkit-transform: translateY(0%); transform: translateY(0%); } } @keyframes bg { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-100%); transform: translateY(-100%); } } @keyframes bg2 { 0% { -webkit-transform: translateY(100%); transform: translateY(100%); } 100% { -webkit-transform: translateY(0%); transform: translateY(0%); } }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.