Result
mask-imageとlinear-gradientを使います。
素材次第ではちょっとアーティスティックな合成写真っぽいのが作れそうですね
※右下のRerunを押せば再読み込みして画像が変わります
css
:root {/*境界線を斜めに*/
--direction: -45deg;
}
main {/*包括要素*/
position: relative;
}
div {/*各要素基礎設定*/
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background-size: cover;
background-repeat: none;
}
.background {
background-image: url(https://source.unsplash.com/1600x900/?human);
}
.foreground {/*マスクレイヤーに指定し、グラデーション+透過処理を加える*/
background-image: url(https://source.unsplash.com/1600x900/?night);
mask-image: linear-gradient(var(--direction), black 40%, rgba(0, 0, 0, 0) 60%);
mask-position: 50% 50%;
}
html
<main> <div class="background"></div> <div class="foreground"></div> </main>
can i use
css-masksのブラウザ対応状況です
まだ実用には注意が必要そうですね
