|
@@ -1,11 +1,142 @@
|
|
|
<template>
|
|
|
- <div>3</div>
|
|
|
+ <div class="container">
|
|
|
+ <div class="header">
|
|
|
+ <div class="imgView">
|
|
|
+ <el-image :style="setImgViewWidth" :src="srcList[selectImgIndex]" :initial-index="selectImgIndex"
|
|
|
+ :preview-src-list="srcList" fit="cover" />
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="textBox">
|
|
|
+ <el-scrollbar :max-height="scrollbarHeight">
|
|
|
+ <div class="title">我是啊啊啊啊的的阿德</div>
|
|
|
+ <div class="describe">
|
|
|
+ 当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业
|
|
|
+ 当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业
|
|
|
+ 当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业
|
|
|
+ 当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业
|
|
|
+ 当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业
|
|
|
+ 当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业指导文字当前图片的作业
|
|
|
+ </div>
|
|
|
+ </el-scrollbar>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="footer">
|
|
|
+ <el-scrollbar>
|
|
|
+ <div class="scrollbar-flex-content">
|
|
|
+ <div :class="selectImgIndex == index
|
|
|
+ ? 'scrollbar-demo-item '
|
|
|
+ : 'scrollbar-demo-item unScrollbarItemBorder'
|
|
|
+ " v-for="(item, index) in srcList" @click="setImgIndex(index)">
|
|
|
+ <el-image class="bottomImgBox" :src="item" fit="fill" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-scrollbar>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
defineOptions({
|
|
|
name: "Esop",
|
|
|
});
|
|
|
+//配置当前div高度
|
|
|
+const scrollbarHeight = ref(0);
|
|
|
+//选取的图片索引
|
|
|
+const selectImgIndex = ref(0);
|
|
|
+const setImgIndex = (index: number) => (selectImgIndex.value = index);
|
|
|
+const setScrollbarHeight = () => {
|
|
|
+ const viewportHeight = window.innerHeight;
|
|
|
+ scrollbarHeight.value = viewportHeight - 300;
|
|
|
+};
|
|
|
+const setImgViewWidth = computed(
|
|
|
+ () => `height:${scrollbarHeight.value - 20}px`
|
|
|
+);
|
|
|
+const srcList = ref([
|
|
|
+ "https://t7.baidu.com/it/u=2604797219,1573897854&fm=193&f=GIF",
|
|
|
+ "https://fuss10.elemecdn.com/0/6f/e35ff375812e6b0020b6b4e8f9583jpeg.jpeg",
|
|
|
+ "https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg",
|
|
|
+ "https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg",
|
|
|
+]);
|
|
|
+onMounted(() => {
|
|
|
+ setScrollbarHeight();
|
|
|
+});
|
|
|
</script>
|
|
|
|
|
|
-<style lang="scss" scoped></style>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.container {
|
|
|
+ width: calc((100vw / 6 * 5) - 50px);
|
|
|
+ height: calc((100vh - 160px)) !important;
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ .header {
|
|
|
+ width: calc((100vw / 6 * 5) - 50px);
|
|
|
+ flex: 1;
|
|
|
+ margin-top: $p20;
|
|
|
+ display: flex;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ .imgView {
|
|
|
+ width: calc(100% - 250px);
|
|
|
+ height: calc(100vh - 290px);
|
|
|
+ @include flex;
|
|
|
+ position: absolute;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .textBox {
|
|
|
+ position: absolute;
|
|
|
+ width: 250px;
|
|
|
+ padding: $p5 $p20;
|
|
|
+ max-height: 100% !important;
|
|
|
+ right: 0;
|
|
|
+
|
|
|
+ .title {
|
|
|
+ font-size: $f24;
|
|
|
+ font-weight: $Medium;
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .describe {
|
|
|
+ font-size: $f20;
|
|
|
+ color: $font-default-60;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .footer {
|
|
|
+ height: 110px;
|
|
|
+ padding: 0 $p10;
|
|
|
+
|
|
|
+ .scrollbar-flex-content {
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ .scrollbar-demo-item {
|
|
|
+ flex-shrink: 0;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ width: 110px;
|
|
|
+ height: 110px;
|
|
|
+ margin-right: 10px;
|
|
|
+ @include flex;
|
|
|
+ border: 2px solid #0a59f7;
|
|
|
+ border-radius: 16px;
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ .bottomImgBox {
|
|
|
+ width: 90px;
|
|
|
+ height: 90px;
|
|
|
+ border-radius: 16px;
|
|
|
+
|
|
|
+ @include flex;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .unScrollbarItemBorder {
|
|
|
+ border: 0px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|