【vue2】vue2 实现手风琴效果,复制粘贴直接使用

简介: 【vue2】vue2 实现手风琴效果,复制粘贴直接使用

【vue2】vue2 实现手风琴效果,复制粘贴直接使用

效果

代码

<template>
  <div
    class="about-index"
    :style="{ backgroundImage: 'url(' + lisData.img + ')' }"
  >
    <div class="container">
      <div class="fine-grained">
        <h1>高山流水遇知音</h1>
        <div class="content">
          <!-- 左边 -->
          <div class="left">
            <div class="or-container">
              <div
                class="box"
                :class="eleindex == i ? 'eleactive' : ''"
                v-for="(ele, i) in piclist"
                :key="i"
                @mouseenter="enter(i, ele)"
                @mouseleave="out(i)"
                @click="ounds(ele)"
              >
                <img :src="ele.img" />
                <div class="wenb">
                  <div>{{ ele.title }}</div>
                  <div>{{ ele.name }}</div>
                </div>
              </div>
            </div>
          </div>

          <!-- 右边 -->
          <div class="right">
            <p>{{ lisData.title }}:</p>
            <div>
              {{ lisData.describe }}
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  name: "index",
  data() {
    return {
      eleindex: 0,
      piclist: [
        {
          title: "看山",
          describe: "青山看不厌,流水趣何长",
          img: "https://img-qn.51miz.com/preview/photo/00/01/51/26/new-P-1512602-6C1160D0O.jpg!/quality/90/unsharp/true/compress/true/fwfh/640x420",
        },
        {
          title: "看水",
          describe: "花香莹把往日情勾起 我愿意化浮萍躺湖心",
          img: "https://img-qn.51miz.com/preview/photo/00/01/51/46/new-P-1514606-AED53C34O.jpg!/quality/90/unsharp/true/compress/true/fwfh/800x800",
        },
        {
          title: "看风景",
          describe: "千里莺啼绿映红,水村山郭酒旗风",
          img: "https://img-qn.51miz.com/2017/06/29/21/2017062921665894_P1247958_238470d3O.jpg!/quality/90/unsharp/true/compress/true/fwfh/640x420",
        },
      ],
      lisData: {
        title: "看山",
        describe: "青山看不厌,流水趣何长",
        img: "https://img-qn.51miz.com/preview/photo/00/01/51/26/new-P-1512602-6C1160D0O.jpg!/quality/90/unsharp/true/compress/true/fwfh/640x420",
      },
    };
  },
  methods: {
    enter: function (i, ele) {
      this.eleindex = i;
      this.lisData = ele;
    },
    out: function (i) {
      this.imgindex = -1;
    },
    ounds(ele) {
      console.log(ele);
    },
  },
  created() {},
};
</script>
 
<style scoped>
.about-index {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
}
.container {
  width: 1200px;
  height: auto;
  margin: 0 auto;
}
/*手风琴样式*/
.or-container {
  display: flex;
  width: 100%;
  box-sizing: border-box;
  height: 100%;
}

.or-container:before {
  background-color: rgba(0, 0, 0, 0.4);
}

.box {
  flex: 1;
  overflow: hidden;
  transition: 0.5s;
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.1);
  line-height: 0;
  border-radius: 5px;
  margin: 0px 2px;
  position: relative;
}

.box > img {
  width: 100%;
  height: calc(100%);
  -o-object-fit: cover;
  object-fit: cover;
  transition: 0.5s;
  border-radius: 5px;
  margin: 0px 2px;
  position: relative;
  cursor: pointer;
  background: linear-gradient(180deg, rgba(25, 23, 19, 0) 0%, #613321 100%);
}

.wenb {
  position: absolute;
  left: 0px;
  bottom: 0px;
  color: #fff;
  padding: 5px 15px;
  border-radius: 10px;
}

.wenb div:nth-child(1) {
  width: 80px;
  height: 25px;
  font-size: 18px;
  font-family: PingFangSC-Semibold, PingFang SC;
  font-weight: 600;
  color: #ffffff;
  line-height: 25px;
}

.wenb div:nth-child(2) {
  width: 50px;
  height: 25px;
  font-size: 16px;
  font-family: PingFangSC-Semibold, PingFang SC;
  /* font-weight: 600; */
  color: #ffffff;
  line-height: 25px;
}

.eleactive {
  flex: 1 1 22%;
}

.eleactive > img {
  width: 100%;
  height: 100%;
  border-radius: 10px;
}

/*end*/

.about-index .content {
  padding: 24px 0px 10px 0px;
  font-size: 16px;
  font-family: SourceHanSerifSC-Regular, SourceHanSerifSC;
  font-weight: 400;
  color: #333333;
  line-height: 30px;
  display: flex;
}

.about-index .content .leftd {
  width: 500px;
  height: 298px;
  /* background-color: pink; */
  overflow: hidden;
}

.about-index .fine-grained .content {
  /* background: #f2e6d1; */
  display: flex;
  justify-content: space-between;
}

.fine-grained .content .left {
  width: 44%;
  /* height: 189px; */
  /* background-color: pink; */
}

.fine-grained .content .right {
  width: 760px;
  height: 450px;
  background: #f2e5d1;
  border-radius: 10px;
  padding: 20px;
}

.fine-grained .content .right p {
  margin: 0px 0px 10px 0px;
  width: 80px;
  height: 22px;
  font-size: 16px;
  font-family: PingFangSC-Semibold, PingFang SC;
  font-weight: 600;
  color: #333333;
  text-align: left;
  line-height: 22px;
}

.fine-grained .content .right div {
  width: 700px;
  /* height: 256px; */
  font-size: 16px;
  font-family: PingFangSC-Semibold, PingFang SC;
  /* font-weight: 600; */
  color: #333333;
  line-height: 32px;
  text-indent: 28px;
  text-align: left;
}

/* .about-index .introduction .content {
  background: #f2e6d1;
} */
</style>
目录
相关文章
|
资源调度
Vue3富文本编辑器wangEditor 5使用总结
Vue3富文本编辑器wangEditor 5使用总结
863 0
|
JavaScript
在vue3中使用markdown编辑器
在vue3中使用markdown编辑器
在vue3中使用markdown编辑器
|
3月前
|
JavaScript
基于Vue3实现简约型侧边栏
本文介绍了如何在Vue3项目中实现一个简约型侧边栏导航,包括配置路由、页面布局和导航交互,以及如何通过Vue Router和条件渲染实现动态内容展示。
525 1
|
4月前
|
JavaScript
【vue】 vue2 中使用 Tinymce 富文本编辑器
【vue】 vue2 中使用 Tinymce 富文本编辑器
555 6
|
6月前
|
存储 JavaScript 前端开发
用Vue写一个简单好看的菜单组件(Vue实战系列)
用Vue写一个简单好看的菜单组件(Vue实战系列)
519 2
|
5月前
|
存储 JavaScript API
Vue 3 中实现引导页
Vue 3 中实现引导页
|
6月前
|
JavaScript
【vue】vue2 粒子特效
【vue】vue2 粒子特效
140 2
|
JavaScript
Vue3项目中使用富文本编辑器
Vue3项目中使用富文本编辑器
429 0
|
6月前
|
移动开发 JavaScript 前端开发
vue简单的图片预览
vue简单的图片预览
135 0