格局突然变了..
This commit is contained in:
		
							
								
								
									
										129
									
								
								components/Model/Box.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								components/Model/Box.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,129 @@
 | 
			
		||||
<template lang="pug">
 | 
			
		||||
.model-box
 | 
			
		||||
  .wrap
 | 
			
		||||
    .cube
 | 
			
		||||
      .front
 | 
			
		||||
      .back
 | 
			
		||||
      .left
 | 
			
		||||
      .right
 | 
			
		||||
      .top
 | 
			
		||||
      .bottom
 | 
			
		||||
 | 
			
		||||
      i.ifront
 | 
			
		||||
      i.iback
 | 
			
		||||
      i.ileft
 | 
			
		||||
      i.iright
 | 
			
		||||
      i.itop
 | 
			
		||||
      i.ibottom
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<style lang="sass">
 | 
			
		||||
.model-box
 | 
			
		||||
  .wrap
 | 
			
		||||
    height: 200px
 | 
			
		||||
    margin-top: 200px
 | 
			
		||||
    perspective: 1000px
 | 
			
		||||
    perspective-origin: 50% 50%
 | 
			
		||||
    background: #222
 | 
			
		||||
    border-radius: .5rem
 | 
			
		||||
    .cube
 | 
			
		||||
      position: relative
 | 
			
		||||
      width: 12.5rem
 | 
			
		||||
      height: 12.5rem
 | 
			
		||||
      margin: 0 auto
 | 
			
		||||
      transform-style: preserve-3d
 | 
			
		||||
      animation: box 15s linear infinite
 | 
			
		||||
      transform: rotateX(0deg) rotateY(0deg)
 | 
			
		||||
      div
 | 
			
		||||
        position: absolute
 | 
			
		||||
        top: 0
 | 
			
		||||
        left: 0
 | 
			
		||||
        opacity: 0.8
 | 
			
		||||
        width: 100%
 | 
			
		||||
        height: 100%
 | 
			
		||||
        font-size: 1.25rem
 | 
			
		||||
        color: white
 | 
			
		||||
        text-align: center
 | 
			
		||||
        line-height: 200px
 | 
			
		||||
        transition: transform .75s ease-in
 | 
			
		||||
      .front
 | 
			
		||||
        background: linear-gradient(blueviolet,dodgerblue)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: translateZ(100px)
 | 
			
		||||
      .back
 | 
			
		||||
        background: linear-gradient(blueviolet,dodgerblue)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: translateZ(-100px) rotateY(180deg)
 | 
			
		||||
      .right
 | 
			
		||||
        background: linear-gradient(blueviolet,dodgerblue)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateY(90deg) translateZ(100px)
 | 
			
		||||
      .left
 | 
			
		||||
        background: linear-gradient(blueviolet,dodgerblue)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateY(-90deg) translateZ(100px)
 | 
			
		||||
      .top
 | 
			
		||||
        background: linear-gradient(blueviolet,blueviolet)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateX(90deg) translateZ(100px)
 | 
			
		||||
      .bottom
 | 
			
		||||
        background: linear-gradient(dodgerblue,dodgerblue)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateX(-90deg) translateZ(100px)
 | 
			
		||||
      i
 | 
			
		||||
        position: absolute
 | 
			
		||||
        top: 50%
 | 
			
		||||
        left: 50%
 | 
			
		||||
        margin-top: -50px
 | 
			
		||||
        margin-left: -50px
 | 
			
		||||
        width: 100px
 | 
			
		||||
        height: 100px
 | 
			
		||||
      .ifront
 | 
			
		||||
        background: linear-gradient(blueviolet,dodgerblue)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: translateZ(50px)
 | 
			
		||||
      .iback
 | 
			
		||||
        background: linear-gradient(blueviolet,dodgerblue)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: translateZ(-50px) rotateY(180deg)
 | 
			
		||||
      .iright
 | 
			
		||||
        background: linear-gradient(blueviolet,dodgerblue)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateY(90deg) translateZ(50px)
 | 
			
		||||
      .ileft
 | 
			
		||||
        background: linear-gradient(blueviolet,dodgerblue)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateY(-90deg) translateZ(50px)
 | 
			
		||||
      .itop
 | 
			
		||||
        background: linear-gradient(blueviolet,blueviolet)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateX(90deg) translateZ(50px)
 | 
			
		||||
      .ibottom
 | 
			
		||||
        background: linear-gradient(dodgerblue,dodgerblue)
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateX(-90deg) translateZ(50px)
 | 
			
		||||
    .cube:hover
 | 
			
		||||
      .front
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: translateZ(200px)
 | 
			
		||||
      .back
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: translateZ(-200px) rotateY(180deg)
 | 
			
		||||
      .right
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateY(90deg) translateZ(200px)
 | 
			
		||||
      .left
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateY(-90deg) translateZ(200px)
 | 
			
		||||
      .top
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateX(90deg) translateZ(200px)
 | 
			
		||||
      .bottom
 | 
			
		||||
        background-size: auto 100%
 | 
			
		||||
        transform: rotateX(-90deg) translateZ(200px)
 | 
			
		||||
@keyframes box
 | 
			
		||||
  0%
 | 
			
		||||
    transform: rotateX(0) rotateY(0)
 | 
			
		||||
  100%
 | 
			
		||||
    transform: rotateX(360deg) rotateY(360deg)
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										61
									
								
								components/Model/ConesInner.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								components/Model/ConesInner.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
<template lang="pug">
 | 
			
		||||
ul.model-cones-inner
 | 
			
		||||
  li.bottom
 | 
			
		||||
  li.front
 | 
			
		||||
  li.right
 | 
			
		||||
  li.left
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<style lang="sass" scoped>
 | 
			
		||||
.model-cones-inner
 | 
			
		||||
  position: relative
 | 
			
		||||
  top: 8px
 | 
			
		||||
  left: 32px
 | 
			
		||||
  width: 64px
 | 
			
		||||
  height: 64px
 | 
			
		||||
  padding: 0
 | 
			
		||||
  list-style: none
 | 
			
		||||
  display: block
 | 
			
		||||
  margin: -25px 0 0 -25px
 | 
			
		||||
  -webkit-transform-style: preserve-3d
 | 
			
		||||
  transform-style: preserve-3d
 | 
			
		||||
  -webkit-transform-origin: 25px 25px
 | 
			
		||||
  transform-origin: 25px 25px
 | 
			
		||||
  -webkit-transform: rotateY(35deg)
 | 
			
		||||
  transform: rotateY(35deg)
 | 
			
		||||
  -webkit-animation: slowRotate 6s ease-in-out infinite 0s
 | 
			
		||||
  animation: slowRotate 6s ease-in-out infinite 0s
 | 
			
		||||
  >li
 | 
			
		||||
    position: absolute
 | 
			
		||||
    top: 0
 | 
			
		||||
    z-index: 10
 | 
			
		||||
    border-left: 28.87px solid transparent
 | 
			
		||||
    border-right: 28.87px solid transparent
 | 
			
		||||
  .bottom
 | 
			
		||||
    border-bottom: 50px solid rgba(200, 200, 200, 0.7)
 | 
			
		||||
  .front
 | 
			
		||||
    border-bottom: 50px solid rgba(80, 80, 80, 0.7)
 | 
			
		||||
    -webkit-transform: rotate3d(-1, 1.732, 0, 70.5deg)
 | 
			
		||||
    transform: rotate3d(-1, 1.732, 0, 70.5deg)
 | 
			
		||||
    -webkit-transform-origin: 25% 50%
 | 
			
		||||
    transform-origin: 25% 50%
 | 
			
		||||
  .right
 | 
			
		||||
    border-bottom: 50px solid rgba(160, 160, 160, 0.7)
 | 
			
		||||
    -webkit-transform: rotate3d(1, 0, 0, 70.5deg)
 | 
			
		||||
    transform: rotate3d(1, 0, 0, 70.5deg)
 | 
			
		||||
    -webkit-transform-origin: 50% 100%
 | 
			
		||||
    transform-origin: 50% 100%
 | 
			
		||||
  .left
 | 
			
		||||
    border-bottom: 50px solid rgba(120, 120, 120, 0.7)
 | 
			
		||||
    -webkit-transform: rotate3d(1, 1.732, 0, -70.5deg)
 | 
			
		||||
    transform: rotate3d(1, 1.732, 0, -70.5deg)
 | 
			
		||||
    -webkit-transform-origin: 75% 50%
 | 
			
		||||
    transform-origin: 75% 50%
 | 
			
		||||
@keyframes slowRotate
 | 
			
		||||
  0%
 | 
			
		||||
    -webkit-transform: rotateY(35deg)
 | 
			
		||||
    transform: rotateY(35deg)
 | 
			
		||||
  100%
 | 
			
		||||
    -webkit-transform: rotateY(395deg)
 | 
			
		||||
    transform: rotateY(395deg)
 | 
			
		||||
</style>
 | 
			
		||||
		Reference in New Issue
	
	Block a user