像极了月亮的Loading

Loading

效果图

HTML结构

    <div class="demo">

        <div class="demo-container">
            

            <div class="wch-loading">
                
                <span class="wch-loading-text">Loading</span>

            </div>

        </div>
    </div>

主要由两部分组成一个是loading的主体 <div class="wch-loading"></div>和 Loading组件里的文字Loading<span class="wch-loading-text">Loading</span>,外面的demo和demo-container只是为了例子方便居中显示的才加的,和组件没有关系。

CSS结构

.wch-loading{
    
    height: 6rem;
    width: 6rem;
    margin: 1.5rem 1.5rem 1.5rem 1.5rem;
    background-color: #FFFF99;
    border-radius: 5rem;
    box-shadow:0px 0px 0.5rem 0.3rem #FFFF99;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    animation: loading 2s linear infinite; 
    
}

.wch-loading-text{
    
    height: 1.5rem;
    width: 100%;
    color: #800080;
    font: 1rem Arial,Verdana,"宋体";
    animation: loadingtext 2s linear infinite; 

}

CSS部分分成两部分一个是静态CSS样式的设置,还有一部分是animation动态关键帧的设置
上面这部分是静态设置
wch-loading设置了大小,背景,倒角50%成为圆形 灵感来自月亮所以特意使用box-shadow:0px 0px 0.5rem 0.3rem #FFFF99;做了月晕 ,同时设置display为flex 并设置Loading的内容元素居中。同时设置了动态关键帧 ,无限循环的线性变化,单次时间2s 。
wch-loading-text的span元素居中在上面的wch-loading中,并设置了高度与字体大小相差不大主要为了字体可以在div中居中显示。并设置了动态关键帧 ,无限循环的线性变化,单次时间配合上面也是2s 。

@keyframes  loading{

    from{
        height: 6rem;
        width: 6rem;
        box-shadow:0px 0px 0.5rem 0.3rem #FFFF99; 
        opacity: 1;
    }
    to{
           height: 6rem;
       width: 6rem; 
       box-shadow:0px 0px 0.8rem 0.5rem #FFFF99; 
       opacity: 0.5;
    }

}


@keyframes loadingtext{

    from{
        opacity: 1;
        height:1.5rem;
        font: 1rem Arial,Verdana,"宋体";
    }
    to{
        opacity: 0.5;
        height: 3rem;
        font: 2rem Arial,Verdana,"宋体";
    }

}

这部分主要是设置了动态关键帧的起始和终止帧的样式,主要设置了wch-loading的透明度和阴影,wch-loading-text的透明度和字体大小。
本文的代码可点击链接下载。

待增强的地方

组件现在没有直接的js操作api用来打开和关闭loading,现在只是显示效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,002评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,681评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 6,835评论 0 11
  • 戒烟,很多人求助各种方法,搜索知乎,百度,甚至看书《这本书能让你戒烟》,林林总总,其实,有个超级简单的方法,行之有...
    迭代的东李阅读 3,682评论 3 0
  • 1. 什么是this对象 先来说说什么是this对象吧。每一个函数在调用的时候都会自己主动获取两个特殊变量:thi...
    忧忧自恼阅读 5,055评论 0 0