63 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<template>
 | 
						|
  <section class="rightTopBorder">
 | 
						|
    <div class="corner" v-for="item in border" :key="item" :class="item"/>
 | 
						|
    <slot/>
 | 
						|
  </section>
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
export default {
 | 
						|
  name: "rightTopBorder",
 | 
						|
  data() {
 | 
						|
    return {
 | 
						|
      border: ['left-top', 'right-top', 'left-bottom', 'right-bottom']
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
</script>
 | 
						|
 | 
						|
<style lang="scss" scoped>
 | 
						|
.rightTopBorder {
 | 
						|
  position: relative;
 | 
						|
  height: 32px;
 | 
						|
  min-width: 32px;
 | 
						|
  display: flex;
 | 
						|
  align-items: center;
 | 
						|
  justify-content: center;
 | 
						|
  box-shadow: 0 0 4px 2px #1745DE inset;
 | 
						|
  background: rgba(#000972, .3) no-repeat center;
 | 
						|
 | 
						|
  .corner {
 | 
						|
    height: 18px;
 | 
						|
    width: 18px;
 | 
						|
    position: absolute;
 | 
						|
    display: block;
 | 
						|
    background-image: url("./assets/corner.svg");
 | 
						|
    background-repeat: no-repeat;
 | 
						|
 | 
						|
    &.left-top {
 | 
						|
      left: -6px;
 | 
						|
      top: -6px;
 | 
						|
      transform: rotateY(180deg);
 | 
						|
    }
 | 
						|
 | 
						|
    &.right-top {
 | 
						|
      right: -6px;
 | 
						|
      top: -6px;
 | 
						|
    }
 | 
						|
 | 
						|
    &.left-bottom {
 | 
						|
      left: -6px;
 | 
						|
      bottom: -6px;
 | 
						|
      transform: rotateX(180deg) rotateY(180deg);
 | 
						|
    }
 | 
						|
 | 
						|
    &.right-bottom {
 | 
						|
      right: -6px;
 | 
						|
      bottom: -6px;
 | 
						|
      transform: rotateX(180deg);
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
</style>
 |