css模拟月亮一个月每一天不同的月相代码
代码语言:html
所属分类:布局界面
代码描述:css模拟月亮一个月每一天不同的月相代码
代码标签: css 模拟 月亮 月 每一天 不同 月相 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
moon-phase {
--moon-phase-blur: 3px;
--_lat: attr(lat type(<number>), 0);
--_hour: attr(hour type(<number>), 12);
--_w: calc(100% - 1% * attr(illumination type(<number>), 0%));
--_l: calc(var(--_lat) * 1.5deg);
--_a: calc(((var(--_hour) - 12) * 15 * 0.7) * 1deg);
--_r: calc(var(--_l) + var(--_a));
aspect-ratio: 1;
border-radius: 50%;
display: block;
overflow: clip;
position: relative;
rotate: var(--_r, 0deg);
}
moon-phase::before {
background: url('//repo.bfw.wiki/bfwrepo/icon/67f7579490770.png') center / cover no-repeat;
content: '';
filter: var(--moon-phase-filter, sepia(1) grayscale(.25));
inset: 0;
position: absolute;
}
moon-phase::after {
background-color: var(--moon-phase-mask-bg, #000);
border-radius: var(--_btlr, 0) var(--_btrr, 0) var(--_bbrr, 0) var(--_bblr, 0);
content: '';
filter: var(--moon-phase-mask-filter, blur(var(--moon-phase-blur, 0px)));
height: 100%;
inset-inline: var(--_ii, auto 0);
opacity: var(--moon-phase-mask-opacity, .85);
position: absolute;
width: var(--_w);
}
/* Phases */
[phase*="first-quarter"],
[phase*="waxing"] {
--_ii: 0 auto;
}
[phase*="crescent"],
[phase*="first-quarter"],
[phase*="waxing"] {
--_bblr: 100%;
--_btlr: 100%;
}
[phase*="crescent"],
[phase*="last-quarter"],
[phase*="waning"] {
--_btrr: 100%;
--_bbrr: 100%;
}
[phase*="gibbous"]::after {
border-radius: 0;
width: 100%;
}
[phase="waxing gibbous"]::after {
mask: radial-gradient(circle at 100% 50%,
#0000 calc(100% - var(--_w)),
#000 .........完整代码请登录后点击上方下载按钮下载查看
















网友评论0