mirror of https://github.com/ElemeFE/element
				
				
				
			
		
			
				
	
	
		
			167 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Smarty
		
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Smarty
		
	
	
<style scoped>
 | 
						|
  h3 {
 | 
						|
    margin-bottom: 15px;
 | 
						|
  }
 | 
						|
  .block {
 | 
						|
    margin-bottom: 55px;
 | 
						|
  }
 | 
						|
  p {
 | 
						|
    margin: 0 0 15px;
 | 
						|
  }
 | 
						|
  .nav-demos {
 | 
						|
    p {
 | 
						|
      margin-bottom: 50px;
 | 
						|
    }
 | 
						|
    h5 {
 | 
						|
      margin: 0;
 | 
						|
    }
 | 
						|
    img {
 | 
						|
      padding: 15px;
 | 
						|
      background-color: #F9FAFC;
 | 
						|
      width: 100%;
 | 
						|
      margin-bottom: 15px;
 | 
						|
      cursor: pointer;
 | 
						|
    }
 | 
						|
  }
 | 
						|
  .dialog-img {
 | 
						|
    position: fixed;
 | 
						|
    overflow: auto;
 | 
						|
    top: 0;
 | 
						|
    right: 0;
 | 
						|
    bottom: 0;
 | 
						|
    left: 0;
 | 
						|
    z-index: 1000;
 | 
						|
    -webkit-overflow-scrolling: touch;
 | 
						|
    outline: 0;
 | 
						|
  
 | 
						|
    .imgWrap {
 | 
						|
      margin: 0 auto;
 | 
						|
      position: relative;
 | 
						|
      top: 100px;
 | 
						|
      padding-bottom: 50px;
 | 
						|
    }
 | 
						|
    img {
 | 
						|
      display: block;
 | 
						|
      width: 100%;
 | 
						|
    }
 | 
						|
  }
 | 
						|
  .mask {
 | 
						|
    position: fixed;
 | 
						|
    top: 0;
 | 
						|
    right: 0;
 | 
						|
    left: 0;
 | 
						|
    bottom: 0;
 | 
						|
    background-color: #373737;
 | 
						|
    background-color: rgba(55, 55, 55, 0.6);
 | 
						|
    height: 100%;
 | 
						|
    z-index: 1000;
 | 
						|
  }
 | 
						|
  .zoom-enter-active,
 | 
						|
  .zoom-leave-active {
 | 
						|
    transition: transform .3s cubic-bezier(0.78, 0.14, 0.15, 0.86), opacity .3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
 | 
						|
  }
 | 
						|
  .zoom-enter,
 | 
						|
  .zoom-leave-active {
 | 
						|
    transform: scale(0.3);
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
  .fade-enter-active,
 | 
						|
  .fade-leave-active {
 | 
						|
    transition: opacity .3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
 | 
						|
  }
 | 
						|
  .fade-enter,
 | 
						|
  .fade-leave-active {
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
</style>
 | 
						|
<template>
 | 
						|
  <div>
 | 
						|
    <h2><%= 1 ></h2>
 | 
						|
    <div class="block">
 | 
						|
      <p><%= 2 ></p>
 | 
						|
    </div>
 | 
						|
    <div class="block">
 | 
						|
      <h3><%= 3 ></h3>
 | 
						|
      <p><%= 4 ></p>
 | 
						|
    </div>
 | 
						|
    <div class="block">
 | 
						|
      <h3><%= 5 ></h3>
 | 
						|
      <el-row :gutter="20">
 | 
						|
        <el-col :span="9">
 | 
						|
          <p><%= 6 ></p>
 | 
						|
        </el-col>
 | 
						|
        <el-col :span="15" class="nav-demos">
 | 
						|
          <img src="~examples/assets/images/navbar_1.png" alt="<%= 7 >" @click="enlarge(846, $event)">
 | 
						|
          <h5><%= 7 ></h5>
 | 
						|
          <p><%= 8 ></p>
 | 
						|
          <img src="~examples/assets/images/navbar_2.png" alt="<%= 9 >" @click="enlarge(846, $event)">
 | 
						|
          <h5><%= 9 ></h5>
 | 
						|
          <p><%= 10 ></p>
 | 
						|
          <img src="~examples/assets/images/navbar_3.png" alt="<%= 11 >" @click="enlarge(846, $event)">
 | 
						|
          <h5><%= 11 ></h5>
 | 
						|
          <p><%= 12 ></p>
 | 
						|
        </el-col>
 | 
						|
      </el-row>
 | 
						|
    </div>
 | 
						|
    <div class="block">
 | 
						|
      <h3><%= 13 ></h3>
 | 
						|
      <el-row>
 | 
						|
        <el-col :span="10">
 | 
						|
          <p><%= 14 ></p>
 | 
						|
        </el-col>
 | 
						|
        <el-col :span="14" class="nav-demos">
 | 
						|
          <img src="~examples/assets/images/navbar_0.png" alt="" @click="enlarge(846, $event)">
 | 
						|
          <p><%= 15 ></p>
 | 
						|
        </el-col>
 | 
						|
      </el-row>
 | 
						|
    </div>
 | 
						|
    <transition name="fade">
 | 
						|
      <div class="mask" v-show="showDialog" @click="showDialog = false"></div>
 | 
						|
    </transition>
 | 
						|
    <transition name="zoom">
 | 
						|
      <div class="dialog-img" :style='imgWrapStyle' v-show="showDialog" @click="showDialog = false">
 | 
						|
        <div class="imgWrap" :style="imgStyle">
 | 
						|
          <img :src="imgUrl" alt="">
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
    </transition>
 | 
						|
  </div>
 | 
						|
</template>
 | 
						|
<script>
 | 
						|
  export default {
 | 
						|
    data() {
 | 
						|
      return {
 | 
						|
        imgUrl: '',
 | 
						|
        imgBound: {},
 | 
						|
        showDialog: false,
 | 
						|
        imgStyle: {},
 | 
						|
        imgWrapStyle: {}
 | 
						|
      };
 | 
						|
    },
 | 
						|
    watch: {
 | 
						|
      showDialog(val) {
 | 
						|
        document.body.style.overflow = val ? 'hidden' : '';
 | 
						|
      }
 | 
						|
    },
 | 
						|
    methods: {
 | 
						|
      enlarge(imgWidth, ev) {
 | 
						|
        var imgNode = ev.target;
 | 
						|
        // var bound = imgNode.getBoundingClientRect();
 | 
						|
        var offset = {};
 | 
						|
        var doc = document;
 | 
						|
 | 
						|
        offset.left = (doc.body.scrollWidth - imgWidth) / 2;
 | 
						|
        offset.top = 100;
 | 
						|
 | 
						|
        this.imgUrl = imgNode.src;
 | 
						|
        this.imgBound = imgNode.getBoundingClientRect();
 | 
						|
 | 
						|
        this.imgWrapStyle.transformOrigin = `${ev.clientX}px ${ev.clientY}px`;
 | 
						|
        // this.imgStyle.transformOrigin = `${ev.clientX}px ${ev.clientY}px`;
 | 
						|
        this.imgStyle.width = imgWidth + 'px';
 | 
						|
        this.showDialog = true;
 | 
						|
      }
 | 
						|
    }
 | 
						|
  };
 | 
						|
</script>
 |