CSS实现月亮倒影

简介: CSS实现月亮倒影

俗话说:"十五的月亮十六圆",今天和家人们赏月的时候,看到月亮在水面上的倒影,我就想能否通过CSS实现呢,今天我们来实现一下吧

效果图


image.png

页面结构

我们这里用一个大盒子包起来,然后使用里面有一个类名为inverted盒子主要用于展示月亮倒影的,还有一个类名为moon的盒子用于设置月亮样式的

<div id="app">
        <!-- 倒影盒子 -->
        <div class="inverted">
            <!-- 发光月亮 -->
            <div class="moon"></div>
        </div>
    </div>

初始样式

我们先清除默认的外边距,内边距,以及设置好所有的盒子为标准盒模型

* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

在进行设置id名为app盒子的样式,我们将他设置为占满全屏的宽高在给上背景色,这样可以更好的看出月亮和月亮的倒影

#app {
            width: 100vw;
            height: 100vh;
            background: #000;
            display: flex;
            justify-content: center;
            padding-top: 100px;
        }

月亮实现

月亮设置好宽高,通过css属性设置为圆形,然后我们再给他设置一个发光的动画且匀速发光无限循环

.moon {
            width: 200px;
            height: 200px;
            background: #F2D06D;
            border-radius: 50%;
            animation: shine 2s linear infinite;
        }

月亮发光动画我们这里使用css属性box-shadow进行实现,通过该属性控制边框的阴影的虚化距离

@keyframes shine {
            0% {
                box-shadow: 0px 0px 10px 0px #d6ecf0;
            }
            50% {
                box-shadow: 0px 0px 40px 0px #d6ecf0;
            }
            100% {
                box-shadow: 0px 0px 10px 0px #d6ecf0;
            }
        }

月亮倒影实现

月亮倒影我们这里采用css的倒影属性box-reflect进行实现,我们可以通过该属性将该盒子内容映射到盒子下方显示且通过背景属性设置出一个逐渐消失的效果,我们这里给这个属性加上常见的浏览器前缀做下兼容

.inverted {
            width: 250px;
            height:250px;
            display: flex;
            justify-content: center;
            align-items: center;
            -webkit-box-reflect: below -20px linear-gradient(transparent, 70%, #000);
            -moz-box-reflect: below -20px linear-gradient(transparent, 70%, #000);
            -o-box-reflect: below -20px linear-gradient(transparent, 70%, #000);
        }

代码我已经放到码上掘金上了,感兴趣的大家可以看一下!

相关文章
|
4月前
|
前端开发
前端 CSS 经典:元素倒影
前端 CSS 经典:元素倒影
25 1
|
前端开发
webkit-box-reflect,前端Css文字倒影,制作炫酷的时钟倒影效果.
webkit-box-reflect,前端Css文字倒影,制作炫酷的时钟倒影效果.
106 0
|
前端开发
css画的月亮
css画的月亮
73 0
|
前端开发
使用CSS实现图片的倒影效果
使用CSS实现图片的倒影效果
113 0
|
移动开发 HTML5
HTML5/CSS3实现图片倒影效果
在线演示 本地下载
912 0
|
前端开发
一张图让你快速掌握CSS3倒影
示例图片 在CSS3之前,想要实现示例图片这样的一个倒影效果一般只能通过处理图片的方式,而CSS3问世之后,想要实现这样的效果变得非常简单,只需一个CSS3属性就可以轻松实现了。
1003 0
|
3月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果