动效优化
This commit is contained in:
		@@ -5,11 +5,11 @@
 | 
			
		||||
      <h2>{{ title }}</h2>
 | 
			
		||||
      <img class="right" src="https://cdn.cunwuyun.cn/dvcp/dv/img/display-icon.svg">
 | 
			
		||||
    </div>
 | 
			
		||||
    <component class="background" :is="type"/>
 | 
			
		||||
    <div class="displayPanel">
 | 
			
		||||
      <div class="animation">
 | 
			
		||||
    <div class="displayPanel fill">
 | 
			
		||||
      <div class="animation abs-center">
 | 
			
		||||
        <component class="item" v-for="(op,i) in list" :key="i" :is="item" v-bind="op" :style="{transform:getPos(i)}"/>
 | 
			
		||||
      </div>
 | 
			
		||||
      <component class="content-background abs-center" :is="type"/>
 | 
			
		||||
    </div>
 | 
			
		||||
  </section>
 | 
			
		||||
</template>
 | 
			
		||||
@@ -29,10 +29,6 @@ export default {
 | 
			
		||||
    },
 | 
			
		||||
    list: {default: () => []},
 | 
			
		||||
  },
 | 
			
		||||
  data () {
 | 
			
		||||
    return {
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    getPos(i) {
 | 
			
		||||
      let unit = this.list.length > 0 ? 2 * Math.PI / this.list.length : 0,
 | 
			
		||||
@@ -48,6 +44,15 @@ export default {
 | 
			
		||||
  position: relative;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 100%;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: column;
 | 
			
		||||
 | 
			
		||||
  .abs-center {
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    top: 50%;
 | 
			
		||||
    left: 50%;
 | 
			
		||||
    transform: translate(-50%, -50%);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .display-top {
 | 
			
		||||
    position: relative;
 | 
			
		||||
@@ -96,17 +101,15 @@ export default {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .displayPanel {
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    width: 160px;
 | 
			
		||||
    height: 160px;
 | 
			
		||||
    transform: translate(-50%, -50%);
 | 
			
		||||
    top: 50%;
 | 
			
		||||
    left: 50%;
 | 
			
		||||
    z-index: 9;
 | 
			
		||||
    position: relative;
 | 
			
		||||
    transform-style: preserve-3d;
 | 
			
		||||
 | 
			
		||||
    .animation {
 | 
			
		||||
      animation: rotate3D 30s infinite linear;
 | 
			
		||||
      transform-style: preserve-3d;
 | 
			
		||||
      width: 160px;
 | 
			
		||||
      height: 160px;
 | 
			
		||||
      margin-top: -50px;
 | 
			
		||||
 | 
			
		||||
      &:hover {
 | 
			
		||||
        animation-play-state: paused;
 | 
			
		||||
@@ -115,16 +118,21 @@ export default {
 | 
			
		||||
 | 
			
		||||
    .item {
 | 
			
		||||
      position: absolute;
 | 
			
		||||
      transform-style: preserve-3d;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .content-background {
 | 
			
		||||
    transform-style: preserve-3d;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes rotate3D {
 | 
			
		||||
  from {
 | 
			
		||||
    transform: rotateY(0deg);
 | 
			
		||||
    transform: translate(-50%, -50%) rotateX(-10deg) rotateY(0deg);
 | 
			
		||||
  }
 | 
			
		||||
  to {
 | 
			
		||||
    transform: rotateY(360deg);
 | 
			
		||||
    transform: translate(-50%, -50%) rotateX(-10deg) rotateY(360deg);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 25 KiB  | 
@@ -2,48 +2,49 @@
 | 
			
		||||
  <div class="display0">
 | 
			
		||||
    <div class="display0-container">
 | 
			
		||||
      <div class="display0-content">
 | 
			
		||||
        <img src="https://cdn.cunwuyun.cn/dvcp/dv/img/display0-left.png">
 | 
			
		||||
        <img src="https://cdn.cunwuyun.cn/dvcp/dv/img/display0-left.png">
 | 
			
		||||
        <img class="leftBg" src="https://cdn.cunwuyun.cn/dvcp/dv/img/display0-left.png">
 | 
			
		||||
        <img class="contentBg" src="https://cdn.cunwuyun.cn/dvcp/dv/img/display0-bg.png" alt=""/>
 | 
			
		||||
        <img class="leftBg" src="https://cdn.cunwuyun.cn/dvcp/dv/img/display0-left.png">
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
  export default {
 | 
			
		||||
    name: 'display0',
 | 
			
		||||
 | 
			
		||||
    data () {
 | 
			
		||||
      return {
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'display0',
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
  .display0 {
 | 
			
		||||
    position: relative;
 | 
			
		||||
    width: 840px;
 | 
			
		||||
.display0 {
 | 
			
		||||
  //position: relative;
 | 
			
		||||
  width: 840px;
 | 
			
		||||
  height: 465px;
 | 
			
		||||
 | 
			
		||||
  .display0-content {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    height: 465px;
 | 
			
		||||
    background: url(./../asset/display0-bg.png) no-repeat center;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
    justify-content: space-between;
 | 
			
		||||
    background-size: cover;
 | 
			
		||||
 | 
			
		||||
    .display0-content {
 | 
			
		||||
      display: flex;
 | 
			
		||||
      position: absolute;
 | 
			
		||||
      top: 50%;
 | 
			
		||||
      width: 100%;
 | 
			
		||||
      height: 465px;
 | 
			
		||||
      transform: translateY(-50%);
 | 
			
		||||
      align-items: center;
 | 
			
		||||
      justify-content: space-between;
 | 
			
		||||
      background: url(./../asset/display0-bg.png) no-repeat center;
 | 
			
		||||
      background-size: cover;
 | 
			
		||||
 | 
			
		||||
      img:last-child {
 | 
			
		||||
        position: relative;
 | 
			
		||||
    .leftBg {
 | 
			
		||||
      position: absolute;
 | 
			
		||||
      left: 0;
 | 
			
		||||
 | 
			
		||||
      &:last-of-type {
 | 
			
		||||
        left: unset;
 | 
			
		||||
        right: 0;
 | 
			
		||||
        transform: rotate(180deg);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    .contentBg{
 | 
			
		||||
      transform-style: preserve-3d;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user