| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 | <template>  <div :style="{zIndex:zIndex,height:height,width:width}" class="pan-item">    <div class="pan-info">      <div class="pan-info-roles-container">        <slot />      </div>    </div>    <img :src="image" class="pan-thumb">  </div></template><script>export default {  name: 'PanThumb',  props: {    image: {      type: String,      required: true    },    zIndex: {      type: Number,      default: 1    },    width: {      type: String,      default: '150px'    },    height: {      type: String,      default: '150px'    }  }}</script><style scoped>.pan-item {  width: 200px;  height: 200px;  border-radius: 50%;  display: inline-block;  position: relative;  cursor: default;  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);}.pan-info-roles-container {  padding: 20px;  text-align: center;}.pan-thumb {  width: 100%;  height: 100%;  background-size: 100%;  border-radius: 50%;  overflow: hidden;  position: absolute;  transform-origin: 95% 40%;  transition: all 0.3s ease-in-out;}.pan-thumb:after {  content: '';  width: 8px;  height: 8px;  position: absolute;  border-radius: 50%;  top: 40%;  left: 95%;  margin: -4px 0 0 -4px;  background: radial-gradient(ellipse at center, rgba(14, 14, 14, 1) 0%, rgba(125, 126, 125, 1) 100%);  box-shadow: 0 0 1px rgba(255, 255, 255, 0.9);}.pan-info {  position: absolute;  width: inherit;  height: inherit;  border-radius: 50%;  overflow: hidden;  box-shadow: inset 0 0 0 5px rgba(0, 0, 0, 0.05);}.pan-info h3 {  color: #fff;  text-transform: uppercase;  position: relative;  letter-spacing: 2px;  font-size: 18px;  margin: 0 60px;  padding: 22px 0 0 0;  height: 85px;  font-family: 'Open Sans', Arial, sans-serif;  text-shadow: 0 0 1px #fff, 0 1px 2px rgba(0, 0, 0, 0.3);}.pan-info p {  color: #fff;  padding: 10px 5px;  font-style: italic;  margin: 0 30px;  font-size: 12px;  border-top: 1px solid rgba(255, 255, 255, 0.5);}.pan-info p a {  display: block;  color: #333;  width: 80px;  height: 80px;  background: rgba(255, 255, 255, 0.3);  border-radius: 50%;  color: #fff;  font-style: normal;  font-weight: 700;  text-transform: uppercase;  font-size: 9px;  letter-spacing: 1px;  padding-top: 24px;  margin: 7px auto 0;  font-family: 'Open Sans', Arial, sans-serif;  opacity: 0;  transition: transform 0.3s ease-in-out 0.2s, opacity 0.3s ease-in-out 0.2s, background 0.2s linear 0s;  transform: translateX(60px) rotate(90deg);}.pan-info p a:hover {  background: rgba(255, 255, 255, 0.5);}.pan-item:hover .pan-thumb {  transform: rotate(-110deg);}.pan-item:hover .pan-info p a {  opacity: 1;  transform: translateX(0px) rotate(0deg);}</style>
 |