likes
comments
collection
share

【日出日落】用按钮做前景,鼠标滑入后看日出,滑出看日落

作者站长头像
站长
· 阅读数 8

前言

刚好最近开了一个新的css专栏,就想着用css做一个日出日落的效果吧。

【日出日落】用按钮做前景,鼠标滑入后看日出,滑出看日落

来个按钮

😯 按钮就是最基础的那种,随手画一个就有了

<div class="button">
    <span>蜡笔小心_</span>
</div>
.button {
    width: 171px;
    height: 65px;
    background: #2c0055;
    box-shadow: 0px 0px 16px #c80de0;
    border-radius: 2px;
    z-index: 3;
    border: 2px solid;
    border-image: linear-gradient(#360154, #d442d5) 30;
}
  • border-image 就是给按钮一个渐变的边框色

【日出日落】用按钮做前景,鼠标滑入后看日出,滑出看日落

😯 给按钮加个 hover 伪元素,让阴影扩散

.button:hover {
    box-shadow: 0px 0px 36px #c80de0;
    transition: all 1s ease-in-out;
}

【日出日落】用按钮做前景,鼠标滑入后看日出,滑出看日落

画个太阳

<div class="sun"></div>

🤓 太阳的样式同样是用渐变加阴影

.sun {
    width: 64px;
    height: 64px;
    left: 55px;
    bottom: 136px;
    background: linear-gradient(180deg, #ffdc2a 0%, #fb2182 41.54%);
    box-shadow: 0px 0px 36px #ffdc2a;
    z-index: 2;
    border-radius: 65px;
}

【日出日落】用按钮做前景,鼠标滑入后看日出,滑出看日落

太阳和按钮样式中都给了一个 z-index 用于置于不同的层级,这样按钮就可以遮住太阳了。

日出

😏 为了更好的展示日出,我们可以把按钮和太阳包裹在一个 a 标签中

😏 这样就可以把上面按钮的效果一起放在 a 标签的 hover 伪元素中

a:hover .sun {
    bottom: 176px;
    transition: all 1s ease-in-out;
    box-shadow: 0px 0px 10px #ffdc2a;
}

a:hover .button {
    box-shadow: 0px 0px 36px #c80de0;
    transition: all 1s ease-in-out;
}

【日出日落】用按钮做前景,鼠标滑入后看日出,滑出看日落

🤔 日出的效果已经出来了,但是鼠标移出的时候,日落的效果过于生硬了一点

🤔 我们可以在按钮和太阳的样式中同样添加一个 transition 的效果

.button, .sun {
    transition: all 1s ease-in-out;
}

【日出日落】用按钮做前景,鼠标滑入后看日出,滑出看日落

😆 至此,日出日落的效果就实现啦。

总结

本篇文章就是用了css3中最基础的阴影和过渡动画效果实现出的日出日落。