Result
以前かいたfilterを使う方法とは異なり、複数設定したグラデーションをkeyframesで動かす、というもの
css
.hero { height: 100vh; background: linear-gradient(/*複数グラデーションを用意*/ 45deg, rgba(255, 175, 189, 0.7), rgba(100, 216, 243, 0.7), rgba(234, 236, 198, 0.7), rgba(245, 146, 176, 0.7), rgba(52, 219, 216, 0.7) ) 0 0 / 1000% no-repeat, url(https://picsum.photos/g/2000/1200) 0 0 / cover no-repeat; animation: gradientAnimation 40s ease infinite; } @keyframes gradientAnimation {/*アニメーションで位置を移動させる*/ 0% { background-position: 0% 30%, 0 0; } 50% { background-position: 100% 70%, 0 0; } 100% { background-position: 0% 30%, 0 0; } }
html
<div class="hero"> <h1>foo bar</h1> </div>