当前位置: 首页 > 工具软件 > flex-layout > 使用案例 >

Polymer2.0 iron-flex-layout

孟昆
2023-12-01
<link rel="import" href="../../bower_components/polymer/polymer-element.html">
<link rel="import" href="../../bower_components/iron-flex-layout/iron-flex-layout-classes.html">
<dom-module id="my-video">
    <template>
        <custom-style>
            <style is="custom-style" include="iron-flex">
                #container{
                    width: var(--video-container-width,100vw);
                    height: var(--video-container-height, 56.25vw);
                }
                #container > div{
                    box-sizing: border-box;
                    padding: 10px;
                }
            </style>
        </custom-style>
        <section id="container" class$="layout horizontal wrap around-justified [[alignV]] ">
            <dom-repeat items="[[videoList]]" >
                <template>
                    <!--替换成视频-->
                    <div style$="[[style]]">
                        <img src="" alt="video-content" style="width: 100%; height: 100%;">
                    </div>
                </template>
            </dom-repeat>
        </section>
    </template>
    <script>
        class MyVideo extends Polymer.Element {
            static get is()
            {
                return 'my-video';
            }

            static get properties()
            {
                return {
                    videoList: Array,
                    alignV: String
                }
            }

            static get observers()
            {
                return [
                    'videoListChanged(videoList)'
                ]
            }

            videoListChanged(videos){
                this.initVideoView(videos.length)
            }
            initVideoView(len){
                if(len == 3 || len > 4){
                    this.style=  "width: 33.3333%; height:33.3333%;"
                }else if(len == 2 || len == 4){
                    this.style = "width: 50%; height:50%;"
                }
                else{
                    this.style = "width: 100%; height:100%;"
                }
                if(len < 7) this.alignV = 'center-aligned';
                else this.alignV = null;
            }
        }

        customElements.define(MyVideo.is, MyVideo);
    </script>
</dom-module>

<style>
      html, body{
        margin: 0;
        padding: 0;
     }
</style>
<my-video video-list='[1,2,3,4,5,6,7,8,9,10]'></my-video>

 

 类似资料: