美文网首页
h5加载占位符(Skeleton Screen)

h5加载占位符(Skeleton Screen)

作者: Nic_ofh | 来源:发表于2017-09-11 10:33 被阅读0次

    使用范围

    Skeleton Screen适用于布局排版固定的内容区域,例如列表、文章、个人信息。

    展示效果

    展示效果图

    展示代码

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>Facebook content placeholder deconstruction</title>
        <style type="text/css">
            .timeline-item {
                background: #fff;
                border: 1px solid;
                border-color: #e5e6e9 #dfe0e4 #d0d1d5;
                border-radius: 3px;
                padding: 12px;
                margin: 0 auto;
                max-width: 472px;
                min-height: 200px;
            }
    
            @keyframes placeHolderShimmer {
                0% {
                    background-position: -468px 0
                }
                100% {
                    background-position: 468px 0
                }
            }
    
            .animated-background {
                animation-duration: 1s;
                animation-fill-mode: forwards;
                animation-iteration-count: infinite;
                animation-name: placeHolderShimmer;
                animation-timing-function: linear;
                background: #f6f7f8;
                background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);
                background-size: 800px 104px;
                height: 96px;
                position: relative;
            }
    
            .background-masker {
                background: #fff;
                position: absolute;
            }
            /* Every thing below this is just positioning */
    
            .background-masker.header-top,
            .background-masker.header-bottom,
            .background-masker.subheader-bottom {
                top: 0;
                left: 40px;
                right: 0;
                height: 10px;
            }
    
            .background-masker.header-left,
            .background-masker.subheader-left,
            .background-masker.header-right,
            .background-masker.subheader-right {
                top: 10px;
                left: 40px;
                height: 8px;
                width: 10px;
            }
    
            .background-masker.header-bottom {
                top: 18px;
                height: 6px;
            }
    
            .background-masker.subheader-left,
            .background-masker.subheader-right {
                top: 24px;
                height: 6px;
            }
    
            .background-masker.header-right,
            .background-masker.subheader-right {
                width: auto;
                left: 300px;
                right: 0;
            }
    
            .background-masker.subheader-right {
                left: 230px;
            }
    
            .background-masker.subheader-bottom {
                top: 30px;
                height: 10px;
            }
    
            .background-masker.content-top,
            .background-masker.content-second-line,
            .background-masker.content-third-line,
            .background-masker.content-second-end,
            .background-masker.content-third-end,
            .background-masker.content-first-end {
                top: 40px;
                left: 0;
                right: 0;
                height: 6px;
            }
    
            .background-masker.content-top {
                height: 20px;
            }
    
            .background-masker.content-first-end,
            .background-masker.content-second-end,
            .background-masker.content-third-end {
                width: auto;
                left: 380px;
                right: 0;
                top: 60px;
                height: 8px;
            }
    
            .background-masker.content-second-line {
                top: 68px;
            }
    
            .background-masker.content-second-end {
                left: 420px;
                top: 74px;
            }
    
            .background-masker.content-third-line {
                top: 82px;
            }
    
            .background-masker.content-third-end {
                left: 300px;
                top: 88px;
            }
        </style>
    </head>
    
    <body>
        <div id=wrapper class="timeline-wrapper">
            <div class="timeline-item">
                <div class="animated-background">
                    <div class="background-masker header-top"></div>
                    <div class="background-masker header-left"></div>
                    <div class="background-masker header-right"></div>
                    <div class="background-masker header-bottom"></div>
                    <div class="background-masker subheader-left"></div>
                    <div class="background-masker subheader-right"></div>
                    <div class="background-masker subheader-bottom"></div>
                    <div class="background-masker content-top"></div>
                    <div class="background-masker content-first-end"></div>
                    <div class="background-masker content-second-line"></div>
                    <div class="background-masker content-second-end"></div>
                    <div class="background-masker content-third-line"></div>
                    <div class="background-masker content-third-end"></div>
                </div>
            </div>
            <div class="timeline-item">
                <div class="animated-background">
                    <div class="background-masker header-top"></div>
                    <div class="background-masker header-left"></div>
                    <div class="background-masker header-right"></div>
                    <div class="background-masker header-bottom"></div>
                    <div class="background-masker subheader-left"></div>
                    <div class="background-masker subheader-right"></div>
                    <div class="background-masker subheader-bottom"></div>
                    <div class="background-masker content-top"></div>
                    <div class="background-masker content-first-end"></div>
                    <div class="background-masker content-second-line"></div>
                    <div class="background-masker content-second-end"></div>
                    <div class="background-masker content-third-line"></div>
                    <div class="background-masker content-third-end"></div>
                </div>
            </div>
        </div>
    </body>
    
    <script>
        setTimeout(function () {
            document.getElementById('wrapper').innerHTML="<div class='timeline-item'>哈哈哈</div><div class='timeline-item'>哈哈哈</div>"
        }, 1000)
    
    </script>
    
    </html>
    

    相关文章

      网友评论

          本文标题:h5加载占位符(Skeleton Screen)

          本文链接:https://www.haomeiwen.com/subject/qibxsxtx.html