220 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			220 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | |
|   <div class="pdgrid" @click="isShowGrid1 = false">
 | |
|     <div class="pdgrid-title">
 | |
|       <h2>幸福郫都微网实格架构</h2>
 | |
|     </div>
 | |
|     <div class="pdgrid-body">
 | |
|       <div class="pdgrid-body__item">
 | |
|         <h2>240</h2>
 | |
|         <p>多层网格</p>
 | |
|       </div>
 | |
|       <div class="pdgrid-body__item" @click.stop="isShowGrid1 = true">
 | |
|         <h2>240</h2>
 | |
|         <p>第一网格</p>
 | |
|       </div>
 | |
|       <div class="pdgrid-body__item">
 | |
|         <h2>240</h2>
 | |
|         <p>微网格</p>
 | |
|       </div>
 | |
|     </div>
 | |
|     <transition name="fade">
 | |
|       <div class="grid-dialog" v-show="isShowGrid1">
 | |
|         <div class="mask"></div>
 | |
|         <div class="grid-container">
 | |
|           <h2>已选择的网格</h2>
 | |
|           <div class="grid-list">
 | |
|             <div
 | |
|               :class="[currIndex1 === index ? 'grid-active' : '']"
 | |
|               v-for="(item, index) in 20"
 | |
|               :key="index"
 | |
|               @click.stop="currIndex1 = index">
 | |
|               幸福郫都微网实格架构
 | |
|             </div>
 | |
|           </div>
 | |
|         </div>
 | |
|       </div>
 | |
|     </transition>
 | |
|   </div>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
|   export default {
 | |
|     name: 'pdgrid',
 | |
| 
 | |
|     data () {
 | |
|       return {
 | |
|         isShowGrid1: false,
 | |
|         currIndex1: 0
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| </script>
 | |
| 
 | |
| <style lang="scss">
 | |
|   .pdgrid {
 | |
|     position: relative;
 | |
|     width: 100%;
 | |
|     height: 100%;
 | |
|     overflow: hidden;
 | |
|     box-sizing: border-box;
 | |
|     background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/middle-bg.png) no-repeat center;
 | |
|     background-size: contain;
 | |
| 
 | |
|     .fade-enter-active, .fade-leave-active {
 | |
|       transition: opacity .3s ease-in-out;
 | |
|     }
 | |
|     .fade-enter, .fade-leave-to {
 | |
|       opacity: 0;
 | |
|     }
 | |
| 
 | |
|     * {
 | |
|       box-sizing: border-box;
 | |
|     }
 | |
| 
 | |
|     .pdgrid-title {
 | |
|       position: absolute;
 | |
|       top: 220px;
 | |
|       left: 50%;
 | |
|       width: 640px;
 | |
|       height: 80px;
 | |
|       line-height: 80px;
 | |
|       text-align: center;
 | |
|       background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/middle-titlebg.png) no-repeat center;
 | |
|       background-size: 100% 100%;
 | |
|       transform: translateX(-50%);
 | |
| 
 | |
|       h2 {
 | |
|         color: #FFFFFF;
 | |
|         font-size: 32px;
 | |
|         text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
 | |
|         background: #fff;
 | |
|         -webkit-background-clip: text;
 | |
|         -webkit-text-fill-color: transparent;
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     .pdgrid-body {
 | |
|       display: flex;
 | |
|       position: absolute;
 | |
|       justify-content: space-between;
 | |
|       bottom: 220px;
 | |
|       left: 0;
 | |
|       width: 100%;
 | |
|       padding: 0 112px;
 | |
| 
 | |
|       .pdgrid-body__item {
 | |
|         display: flex;
 | |
|         flex-direction: column;
 | |
|         width: 200px;
 | |
|         height: 187px;
 | |
|         align-items: center;
 | |
|         padding-top: 71px;
 | |
|         cursor: pointer;
 | |
|         background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/item-bg.png) no-repeat center;
 | |
|         background-size: 100% 100%;
 | |
|         transition: opacity ease 0.3s;
 | |
| 
 | |
|         &:hover {
 | |
|           opacity: 0.8;
 | |
|         }
 | |
| 
 | |
|         &:nth-of-type(2) {
 | |
|           position: relative;
 | |
|           top: 67px;
 | |
|         }
 | |
| 
 | |
|         h2 {
 | |
|           font-size: 36px;
 | |
|           color: #FFFFFF;
 | |
|           text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
 | |
|           background: #fff;
 | |
|           -webkit-background-clip: text;
 | |
|           -webkit-text-fill-color: transparent;
 | |
|         }
 | |
| 
 | |
|         p {
 | |
|           font-size: 18px;
 | |
|           color: #FFFFFF;
 | |
|           text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
 | |
|           background: #fff;
 | |
|           -webkit-background-clip: text;
 | |
|           font-weight: 600;
 | |
|           -webkit-text-fill-color: transparent;
 | |
|         }
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     .grid-dialog {
 | |
|       position: fixed;
 | |
|       top: 0;
 | |
|       left: 0;
 | |
|       z-index: 111;
 | |
|       width: 100%;
 | |
|       height: 100%;
 | |
| 
 | |
|       & > .mask {
 | |
|         position: absolute;
 | |
|         left: 0;
 | |
|         top: 0;
 | |
|         z-index: 1;
 | |
|         width: 100%;
 | |
|         height: 100%;
 | |
|         background: rgba(0, 0, 0, 0.4);
 | |
|       }
 | |
| 
 | |
|       .grid-container {
 | |
|         display: flex;
 | |
|         position: absolute;
 | |
|         flex-direction: column;
 | |
|         left: 50%;
 | |
|         top: 50%;
 | |
|         z-index: 2;
 | |
|         width: 640px;
 | |
|         height: 640px;
 | |
|         background: rgba(7,13,41,0.9);
 | |
|         border: 1px solid #144662;
 | |
|         transform: translate(-50%, -50%);
 | |
| 
 | |
|         & > h2 {
 | |
|           width: 100%;
 | |
|           height: 67px;
 | |
|           line-height: 67px;
 | |
|           text-align: center;
 | |
|           color: #FFFFFF;
 | |
|           font-size: 27px;
 | |
|           text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
 | |
|           background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/grid-title-bg.png) no-repeat center;
 | |
|           background-size: 100% 100%;
 | |
|         }
 | |
| 
 | |
|         .grid-list {
 | |
|           flex: 1;
 | |
|           overflow-y: auto;
 | |
| 
 | |
|           & > div {
 | |
|             height: 67px;
 | |
|             line-height: 67px;
 | |
|             text-align: center;
 | |
|             color: #FFFFFF;
 | |
|             font-size: 27px;
 | |
|             cursor: pointer;
 | |
|             transition: all ease 0.5s;
 | |
| 
 | |
|             &.grid-active {
 | |
|               background: linear-gradient(270deg, rgba(0,48,124,0) 0%, #00307C 16%, rgba(0,99,255,0.9100) 50%, rgba(0,48,124,0.8200) 87%, rgba(0,48,124,0) 100%);
 | |
|               box-shadow: inset 0px -1px 0px 0px rgba(16,34,54,1);
 | |
|               text-shadow: 0px 3px 5px rgba(0,0,0,0.5000);
 | |
|             }
 | |
| 
 | |
|             &:hover {
 | |
|               background: linear-gradient(270deg, rgba(0,48,124,0) 0%, #00307C 16%, rgba(0,99,255,0.9100) 50%, rgba(0,48,124,0.8200) 87%, rgba(0,48,124,0) 100%);
 | |
|               box-shadow: inset 0px -1px 0px 0px rgba(16,34,54,1);
 | |
|               text-shadow: 0px 3px 5px rgba(0,0,0,0.5000);
 | |
|             }
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| </style>
 |