响应式日落效果
代码语言:html
所属分类:响应式
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { margin: 0; } .image { transition: fill 3s ease-in-out; height: 100vh; display: grid; grid-template-columns: 1fr 80vh 1fr; grid-template-rows: 72vh 1fr; background-color: var(--trees); } [class*="section_"] { grid-column: 1 / -1; grid-row: 1; height: 100%; width: 100%; } svg { width: 100%; height: 100%; } .section_sky { grid-column: 1 / -1; grid-row: 1; } .section_rl, .section_ml, .section_fl { grid-column: 1; grid-row: 1; } .section_rm, .section_mm, .section_fm { grid-column: 2; grid-row: 1; } .section_rr, .section_mr, .section_fr { grid-column: 3; grid-row: 1; } [class*="section_f"], .section_trees { isolation: isolate; } .section_mfog { height: 30%; margin-top: 30vh; } .section_ffog { height: 30%; margin-top: auto; } .section_sun { height: 16vh; width: 16vh; margin: 4vh auto 0; } .gradient stop { transition: stop-color3sease-in-out; } .image-light { --rear_highlight: #ff8080; --rear_shadow: #c26d80; --mid_highlight: #ff6666; --mid_shadow: #824b6c; --fore_highlight: #ff4d4d; --fore_shadow: #623851; --trees: #412536; --sky-bottom: #FFAD66; --sky-mid: #ff8080; --sky-top: #412536; --fog: #ffff66; --sun: #ff4f23; } .image-dark { --rear_highlight: #a5cfe6; --rear_shadow: #7095af; --mid_highlight: #88d1fb; --mid_shadow: #4B6C82; --fore_highlight: #87d5f7; --fore_shadow: #385162; --trees: #253641; --sky-bottom: #a1cde4; --sky-mid: #7eb9d8; --sky-top: #051f33; --fog: #c9dfff; --sun: #6daac2; } .image-light .moon { opacity: 0; } .image-dark .moon { opacity: .22; } .screen { mix-blend-mode: screen; } .fog { fill: url(#gradient-fog); opacity: .22; } .moon { isolation: isolate; opacity: 0.22; mix-blend-mode: multiply; transition: opacity 3s ease-in-out; } .moon-grey1 { fill: #757575; } .moon-grey2 { fill: #595959; } .moon-grey3 { fill: #b2b2b2; } .moon-grey4 { fill: #ddd; } path, polygon { transition: fill 3s ease-in-out; } .image { transition: background-color 3s ease-in-out; } .switch { display: flex; align-items: center; position: absolute; bottom: 1rem; right: 1rem; border: 0; background: transparent; cursor: pointer; } .switch span { filter: saturate(0); background-color: transparent; opacity: .5; padding: .25rem; border-bottom-style: solid; border-bottom-width: 2px; transition: border-bottom-color 3s ease-in-out, filter 3s ease-in-out, opacity 3s ease-in-out; } .switch span:first-child { margin-right: 1rem; } [aria-checked="false"] span:first-child { filter: none; opacity: 1; border-color: white; } [aria-checked="true"] span:last-child { filter: none; opacity: 1; border-color: white; } </style> </head> <body> <div class="image image-dark"> <svg class="section_sky" preserveAspectRatio="none"> <defs> <linearGradient class="gradient" id="gradient-sky" gradientTransform="rotate(90)"> <stop offset="0%" stop-color="var(--sky-top)" /> <stop offset="40%" stop-color="var(--sky-mid)" /> <stop offset="100%" stop-color="var(--sky-bottom)" /> </linearGradient> <linearGradient class="gradient" id="gradient-fog" gradientTransform="rotate(90)"> <stop offset="5%" stop-color="#000000" /> <stop offset="90%" stop-color="var(--fog)" /> </linearGradient> <linearGradient class="gradient" id="gradient-sun" gradientTransform="rotate(90)"> <stop offset="5%" stop-color="#000000" /> <stop offset="90%" stop-color="var(--sun)" /> </linearGradient> </defs> <rect height="100%" width="100%" fill="url(#gradient-sky)" /> </svg> <svg class="section_sun screen" viewBox="0 0 27 27"> <circle id="sun" class="screen" fill="url(#gradient-sun)" cx="50%" cy="50%" r="13" /> <g class="moon"> <polygon class="moon-grey1" points="15.37 23.8 15.37 23.8 15.37 23.8 15.37 23.8" /> <path class="moon-grey1" d="M15.22,23.81s0,.06-.06.11h0s0,0,.2-.11h0Z" /> <path class="moon-grey1" d="M19.05,14.34a2.34,2.34,0,0,1,.1.4A.9.9,0,0,0,19.05,14.34Z" /> <path class="moon-grey1" d="M9.81,3.24h0a2.65,2.65,0,0,1-.33.24l-.14.19c-.23.34-.47.66-.68.94v0a.58.58,0,0,1,.43.13c-.07-.06-.1-.12.11.08l0-.1,0,.1c2.25-.75,1.38.3,1.57,1a1.47,1..........完整代码请登录后点击上方下载按钮下载查看
网友评论0