Commit c858077305e02bfafbf33c2ef99ab3548173dad6

Authored by boyang
1 parent 13cb0265

fix: 调整热销商品位置,prod2-39/40

components/MobileProductDetail.vue
... ... @@ -409,7 +409,7 @@
409 409 slider-color="blue-lighten-1"
410 410 selected-class="active"
411 411 >
412   - <v-tab :value="1">JOURNAL RECOMMENDATION</v-tab>
  412 + <v-tab :value="1">Product-related Journals</v-tab>
413 413 </v-tabs>
414 414 <v-window v-model="tabJournal">
415 415 <v-window-item key="1" :value="1">
... ...
components/ProductDetail.vue
... ... @@ -361,7 +361,7 @@
361 361 selected-class="active"
362 362 grow
363 363 >
364   - <v-tab value="one">Journal Recommendation</v-tab>
  364 + <v-tab value="one">Product-related Journals</v-tab>
365 365 </v-tabs>
366 366 <v-list>
367 367 <v-list-item
... ... @@ -795,9 +795,31 @@ const slide = ref(0);
795 795 border-top: 3px solid #1f88e5 !important;
796 796 }
797 797  
798   -.tabs {
799   - border-bottom: 2px solid #1f88e5;
  798 +@media screen and (min-width: 1537px) {
  799 + .tabs {
  800 + border-bottom: 2px solid #1f88e5;
  801 + margin: 10px auto 20px;
  802 + width: 100%;
  803 + }
  804 +}
  805 +@media screen and (max-width: 1536px) and (min-width: 1281px) {
  806 + .tabs {
  807 + border-bottom: 2px solid #1f88e5;
  808 + margin: 10px auto 40px;
  809 + width: 100%;
  810 + }
800 811 }
  812 +@media screen and (max-width: 1280px) {
  813 + .tabs {
  814 + border-bottom: 2px solid #1f88e5;
  815 + margin: 10px auto 40px;
  816 + width: 100%;
  817 + }
  818 +}
  819 +
  820 +// .tabs {
  821 +// border-bottom: 2px solid #1f88e5;
  822 +// }
801 823  
802 824 .active {
803 825 background-color: #1086e8;
... ... @@ -865,8 +887,8 @@ th {
865 887 align-items: center;
866 888 justify-content: center;
867 889 height: 320px;
868   - margin: 10px auto 130px;
869   - width: 80%;
  890 + margin: 10px auto 80px;
  891 + width: 100%;
870 892 }
871 893 }
872 894 @media screen and (max-width: 1536px) and (min-width: 1281px) {
... ... @@ -875,7 +897,7 @@ th {
875 897 align-items: center;
876 898 justify-content: center;
877 899 height: 320px;
878   - margin: 10px auto 60px;
  900 + margin: 10px auto 0px;
879 901 width: 80%;
880 902 padding: 0;
881 903 }
... ... @@ -886,7 +908,7 @@ th {
886 908 align-items: center;
887 909 justify-content: center;
888 910 height: 320px;
889   - margin: 10px auto 60px;
  911 + margin: 10px auto 0px;
890 912 width: 80%;
891 913 padding: 0;
892 914 }
... ... @@ -900,7 +922,7 @@ th {
900 922 display: inline-block;
901 923 margin: 0 5px;
902 924 text-align: center;
903   - width: 315px;
  925 + width: 300px;
904 926 }
905 927 }
906 928 @media screen and (max-width: 1536px) and (min-width: 1281px) {
... ... @@ -921,8 +943,8 @@ th {
921 943 }
922 944 @media screen and (min-width: 1537px) {
923 945 .image-row img {
924   - width: 240px;
925   - height: 240px;
  946 + width: 200px;
  947 + height: 200px;
926 948 }
927 949 }
928 950 @media screen and (max-width: 1536px) and (min-width: 1281px) {
... ... @@ -939,34 +961,46 @@ th {
939 961 }
940 962 @media screen and (min-width: 1537px) {
941 963 .image-name {
942   - display: block;
  964 + display: -webkit-box; /* Enables multi-line text handling */
  965 + -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */
  966 + -webkit-line-clamp: 3; /* Limits the text to 3 lines */
  967 + overflow: hidden; /* Hides the overflowed text */
  968 + text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */
943 969 margin-top: 5px;
944 970 font-size: 16px;
945 971 width: 180px;
946 972 color: #555;
947   - text-align: left;
948   - margin-left: 60px;
  973 + text-align: center; /* Centers the text horizontally */
  974 + margin-left: 50px;
949 975 }
950 976 }
951 977 @media screen and (max-width: 1536px) and (min-width: 1281px) {
952 978 .image-name {
953   - display: block;
  979 + display: -webkit-box; /* Enables multi-line text handling */
  980 + -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */
  981 + -webkit-line-clamp: 3; /* Limits the text to 3 lines */
  982 + overflow: hidden; /* Hides the overflowed text */
  983 + text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */
954 984 margin-top: 5px;
955 985 font-size: 16px;
956 986 width: 180px;
957 987 color: #555;
958   - text-align: left;
  988 + text-align: center; /* Centers the text horizontally */
959 989 margin-left: 10px;
960 990 }
961 991 }
962 992 @media screen and (max-width: 1280px) {
963 993 .image-name {
964   - display: block;
  994 + display: -webkit-box; /* Enables multi-line text handling */
  995 + -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */
  996 + -webkit-line-clamp: 3; /* Limits the text to 3 lines */
  997 + overflow: hidden; /* Hides the overflowed text */
  998 + text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */
965 999 margin-top: 5px;
966 1000 font-size: 16px;
967 1001 width: 180px;
968 1002 color: #555;
969   - text-align: left;
  1003 + text-align: center; /* Centers the text horizontally */
970 1004 margin-left: 20px;
971 1005 }
972 1006 }
... ... @@ -983,6 +1017,7 @@ button .recommendButton {
983 1017 width: 26px;
984 1018 height: 27px;
985 1019 margin-right: 30px;
  1020 + margin-bottom: 50px;
986 1021 }
987 1022  
988 1023 .recommend-img-left:hover {
... ... @@ -995,6 +1030,7 @@ button .recommendButton {
995 1030 width: 26px;
996 1031 height: 27px;
997 1032 margin-left: 30px;
  1033 + margin-bottom: 50px;
998 1034 }
999 1035  
1000 1036 .recommend-img-right:hover {
... ...
deploy/prod2.sh
1 1 #!/bin/bash
2 2 # 变量定义
3   -LAST_TAG="1.0.38"
4   -TAG="1.0.39"
  3 +LAST_TAG="1.0.39"
  4 +TAG="1.0.40"
5 5 TARGET_PATH="/root/web/canrud-outside-nuxt-front"
6 6 DOCKERFILE_PATH="/root/web/canrud-outside-nuxt-front/canrud-nuxt-front"
7 7 IMAGE_NAME="canrud-outside-front"
... ...
pages/index.vue
... ... @@ -36,6 +36,7 @@
36 36 v-model="tabRecom"
37 37 color="white"
38 38 bg-color="#eeeeee"
  39 + style="margin-top: 40px"
39 40 slider-color="blue-lighten-1"
40 41 selected-class="active"
41 42 v-if="recommendImages[0] !== null && !isMobile()"
... ... @@ -87,7 +88,7 @@
87 88 />
88 89 </div>
89 90 </div>
90   - <div style="padding-left: 16px; padding-right: 16px; padding-bottom: 30px">
  91 + <div style="padding-left: 16px; padding-right: 16px">
91 92 <v-tabs
92 93 class="tabs2"
93 94 ref="tabs2"
... ... @@ -518,7 +519,7 @@ const hotLength = computed(() =&gt;
518 519 .tabs {
519 520 border-bottom: 2px solid #1f88e5;
520 521 margin: 10px auto 0px;
521   - width: 80%;
  522 + width: 85%;
522 523 }
523 524 }
524 525  
... ... @@ -541,7 +542,7 @@ const hotLength = computed(() =&gt;
541 542 align-items: center;
542 543 justify-content: center;
543 544 height: 320px;
544   - margin: 10px auto 100px;
  545 + margin: 10px auto 50px;
545 546 width: 80%;
546 547 }
547 548 }
... ... @@ -550,7 +551,7 @@ const hotLength = computed(() =&gt;
550 551 display: flex;
551 552 align-items: center;
552 553 justify-content: center;
553   - height: 320px;
  554 + height: 240px;
554 555 margin: 10px auto 0px;
555 556 width: 80%;
556 557 }
... ... @@ -561,7 +562,7 @@ const hotLength = computed(() =&gt;
561 562 align-items: center;
562 563 justify-content: center;
563 564 height: 260px;
564   - margin: 10px auto 30px;
  565 + margin: 10px auto 0px;
565 566 width: 90%;
566 567 }
567 568 }
... ... @@ -624,34 +625,46 @@ const hotLength = computed(() =&gt;
624 625 }
625 626 @media screen and (min-width: 1537px) {
626 627 .image-name {
627   - display: block;
  628 + display: -webkit-box; /* Enables multi-line text handling */
  629 + -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */
  630 + -webkit-line-clamp: 3; /* Limits the text to 3 lines */
  631 + overflow: hidden; /* Hides the overflowed text */
  632 + text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */
628 633 margin-top: 5px;
629 634 font-size: 16px;
630 635 width: 180px;
631 636 color: #555;
632   - text-align: left;
  637 + text-align: center; /* Centers the text horizontally */
633 638 margin-left: 50px;
634 639 }
635 640 }
636 641 @media screen and (max-width: 1536px) and (min-width: 1281px) {
637 642 .image-name {
638   - display: block;
  643 + display: -webkit-box; /* Enables multi-line text handling */
  644 + -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */
  645 + -webkit-line-clamp: 3; /* Limits the text to 3 lines */
  646 + overflow: hidden; /* Hides the overflowed text */
  647 + text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */
639 648 margin-top: 5px;
640 649 font-size: 16px;
641 650 width: 180px;
642 651 color: #555;
643   - text-align: left;
  652 + text-align: center; /* Centers the text horizontally */
644 653 margin-left: 10px;
645 654 }
646 655 }
647 656 @media screen and (max-width: 1280px) {
648 657 .image-name {
649   - display: block;
  658 + display: -webkit-box; /* Enables multi-line text handling */
  659 + -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */
  660 + -webkit-line-clamp: 3; /* Limits the text to 3 lines */
  661 + overflow: hidden; /* Hides the overflowed text */
  662 + text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */
650 663 margin-top: 5px;
651 664 font-size: 16px;
652 665 width: 180px;
653 666 color: #555;
654   - text-align: left;
  667 + text-align: center; /* Centers the text horizontally */
655 668 margin-left: 5px;
656 669 }
657 670 }
... ...
pages/products/index.vue
... ... @@ -2,67 +2,131 @@
2 2 <div class="tw-m-auto tw-pb-[64px]" style="padding-bottom: 0px">
3 3 <CategoryList v-if="categoryStore.categoryVisible && !isMobile()" />
4 4 <MobileCategoryList v-if="categoryStore.categoryVisible && isMobile()" />
5   - <v-container class="">
6   - <v-tabs
7   - class="tabs"
8   - v-model="tabRecom"
9   - style="margin-top: 25px"
10   - color="white"
11   - bg-color="#eeeeee"
12   - slider-color="blue-lighten-1"
13   - selected-class="active"
14   - v-if="recommendImages[0] !== null && !isMobile()"
15   - >
16   - <v-tab :value="1">Best Sellers</v-tab>
17   - <!-- <v-tab :value="3">商品百科</v-tab> -->
18   - </v-tabs>
19   - <div
20   - id="image-container"
21   - v-if="recommendImages[0] !== null && !isMobile()"
22   - >
23   - <div class="recommend-left-box">
24   - <v-img
25   - src="https://m-canrd.oss-cn-shenzhen.aliyuncs.com/crmebimage/public/maintain/2024/09/14/76c987e13a334be481a346c19c2284f3qy4tjnxps7.png"
26   - alt="往左移"
27   - class="recommend-img-left"
28   - @click="toggleRowLeft"
29   - />
30   - </div>
31   - <div class="image-row" id="row1">
32   - <!-- <img
  5 + <v-tabs
  6 + class="tabs"
  7 + v-model="tabRecom"
  8 + style="margin-top: 25px"
  9 + color="white"
  10 + bg-color="#eeeeee"
  11 + slider-color="blue-lighten-1"
  12 + selected-class="active"
  13 + v-if="recommendImages[0] !== null && !isMobile()"
  14 + >
  15 + <v-tab :value="1">Best Sellers</v-tab>
  16 + <!-- <v-tab :value="3">商品百科</v-tab> -->
  17 + </v-tabs>
  18 + <div id="image-container" v-if="recommendImages[0] !== null && !isMobile()">
  19 + <div class="recommend-left-box">
  20 + <v-img
  21 + src="https://m-canrd.oss-cn-shenzhen.aliyuncs.com/crmebimage/public/maintain/2024/09/14/76c987e13a334be481a346c19c2284f3qy4tjnxps7.png"
  22 + alt="往左移"
  23 + class="recommend-img-left"
  24 + @click="toggleRowLeft"
  25 + />
  26 + </div>
  27 + <div class="image-row" id="row1">
  28 + <!-- <img
33 29 v-for="(imageObj, index) in recommendImages.slice(0, 5)"
34 30 :key="'row1-' + index"
35 31 :src="imageObj[0]?.url"
36 32 :alt="'Image ' + (index + 1)"
37 33 style="margin: 0 5px; width: 200px; height: 200px"
38 34 /> -->
39   - <div
40   - v-for="(imageObj, index) in recommendImages"
41   - :key="'row1-' + index"
42   - class="imageTotal"
43   - >
44   - <a v-if="imageObj" :href="imageObj[0]?.productUrl" target="_blank">
45   - <img
46   - :src="imageObj[0]?.url"
47   - :alt="'Image ' + (index + 1)"
48   - class="item-imgHot"
49   - />
50   - <span class="image-name">
51   - {{ imageObj[0]?.name }}
52   - </span>
53   - </a>
54   - <div v-else style="width: 200px; height: 200px"></div>
55   - </div>
56   - </div>
57   - <div class="recommend-right-box">
58   - <v-img
59   - src="https://m-canrd.oss-cn-shenzhen.aliyuncs.com/crmebimage/public/maintain/2024/09/14/b5daa0a8f2f140f5b406e984c730a453iznzlekysg.png"
60   - alt="往右移"
61   - class="recommend-img-right"
62   - @click="toggleRowRight"
63   - />
  35 + <div
  36 + v-for="(imageObj, index) in recommendImages"
  37 + :key="'row1-' + index"
  38 + class="imageTotal"
  39 + >
  40 + <a v-if="imageObj" :href="imageObj[0]?.productUrl" target="_blank">
  41 + <img
  42 + :src="imageObj[0]?.url"
  43 + :alt="'Image ' + (index + 1)"
  44 + class="item-imgHot"
  45 + />
  46 + <span class="image-name">
  47 + {{ imageObj[0]?.name }}
  48 + </span>
  49 + </a>
  50 + <div v-else style="width: 200px; height: 200px"></div>
64 51 </div>
65 52 </div>
  53 + <div class="recommend-right-box">
  54 + <v-img
  55 + src="https://m-canrd.oss-cn-shenzhen.aliyuncs.com/crmebimage/public/maintain/2024/09/14/b5daa0a8f2f140f5b406e984c730a453iznzlekysg.png"
  56 + alt="往右移"
  57 + class="recommend-img-right"
  58 + @click="toggleRowRight"
  59 + />
  60 + </div>
  61 + </div>
  62 + <v-container class="">
  63 + <div class="tw-text-center tw-mt-[32px]" v-if="loading">
  64 + <v-progress-circular
  65 + color="blue-lighten-2"
  66 + indeterminate
  67 + size="64"
  68 + class="tw-m-auto"
  69 + ></v-progress-circular>
  70 + </div>
  71 + <v-item-group multiple>
  72 + <v-row v-if="!loading">
  73 + <v-col
  74 + v-for="(item, i) in productStore.list"
  75 + :key="i"
  76 + cols="6"
  77 + lg="3"
  78 + md="4"
  79 + sm="6"
  80 + >
  81 + <v-hover v-slot="{ isHovering, props }" open-delay="200">
  82 + <v-card
  83 + :elevation="isHovering ? 16 : 2"
  84 + :class="{ 'on-hover': isHovering }"
  85 + class="mx-auto"
  86 + v-bind="props"
  87 + :to="`/products/detail/${item.id}`"
  88 + >
  89 + <v-img :src="item.imgList[0].url" :alt="item.name">
  90 + <!-- <v-expand-transition>
  91 + <div
  92 + v-if="isHovering"
  93 + class="d-flex transition-fast-in-fast-out bg-orange-darken-2 v-card--reveal tw-p-[12px] tw-text-justify"
  94 + style="height: 100%"
  95 + >
  96 + 产品描述描述描述描述描述描述描述描述
  97 + </div>
  98 + </v-expand-transition> -->
  99 + </v-img>
  100 + <v-card-text class="tw-text-left font-weight-medium title">
  101 + <h3 style="color: red" v-if="item.price">
  102 + ${{ item.price }}
  103 + </h3>
  104 + <h4>{{ item.name }}</h4>
  105 + </v-card-text>
  106 + </v-card>
  107 + </v-hover>
  108 + </v-col>
  109 + </v-row>
  110 + <div
  111 + v-if="!productStore.total && !loading"
  112 + class="text-medium-emphasis text-body-1 tw-text-center tw-m-[64px]"
  113 + >
  114 + no data
  115 + </div>
  116 + </v-item-group>
  117 + <v-row>
  118 + <v-col>
  119 + <v-pagination
  120 + :size="isMobile() ? 'small' : 'default'"
  121 + v-if="productStore.total"
  122 + v-model="productStore.pageNo"
  123 + @update:modelValue="productStore.updatePageNo"
  124 + :length="length"
  125 + rounded="0"
  126 + class="tw-float-right tw-mt-[32px]"
  127 + total-visible="5"
  128 + ></v-pagination></v-col
  129 + ></v-row>
66 130 <v-tabs
67 131 class="tabs2"
68 132 ref="tabs2"
... ... @@ -131,61 +195,6 @@
131 195 total-visible="5"
132 196 ></v-pagination></v-col
133 197 ></v-row>
134   - <div style="width: 50px"></div>
135   - <div class="tw-text-center tw-mt-[32px]" v-if="loading">
136   - <v-progress-circular
137   - color="blue-lighten-2"
138   - indeterminate
139   - size="64"
140   - class="tw-m-auto"
141   - ></v-progress-circular>
142   - </div>
143   - <v-item-group multiple>
144   - <v-row v-if="!loading">
145   - <v-col
146   - v-for="(item, i) in productStore.list"
147   - :key="i"
148   - cols="6"
149   - lg="3"
150   - md="4"
151   - sm="6"
152   - >
153   - <v-hover v-slot="{ isHovering, props }" open-delay="200">
154   - <v-card
155   - :elevation="isHovering ? 16 : 2"
156   - :class="{ 'on-hover': isHovering }"
157   - class="mx-auto"
158   - v-bind="props"
159   - :to="`/products/detail/${item.id}`"
160   - >
161   - <v-img :src="item.imgList[0].url" :alt="item.name">
162   - <!-- <v-expand-transition>
163   - <div
164   - v-if="isHovering"
165   - class="d-flex transition-fast-in-fast-out bg-orange-darken-2 v-card--reveal tw-p-[12px] tw-text-justify"
166   - style="height: 100%"
167   - >
168   - 产品描述描述描述描述描述描述描述描述
169   - </div>
170   - </v-expand-transition> -->
171   - </v-img>
172   - <v-card-text class="tw-text-left font-weight-medium title">
173   - <h3 style="color: red" v-if="item.price">
174   - ${{ item.price }}
175   - </h3>
176   - <h4>{{ item.name }}</h4>
177   - </v-card-text>
178   - </v-card>
179   - </v-hover>
180   - </v-col>
181   - </v-row>
182   - <div
183   - v-if="!productStore.total && !loading"
184   - class="text-medium-emphasis text-body-1 tw-text-center tw-m-[64px]"
185   - >
186   - no data
187   - </div>
188   - </v-item-group>
189 198 </v-container>
190 199 </div>
191 200 </template>
... ... @@ -221,7 +230,6 @@ const loadHotProducts = async () =&gt; {
221 230 pageSize.value = 4;
222 231 }
223 232 hotLoading.value = true;
224   -
225 233 let { data: hotProducts } = await useAsyncData(
226 234 "hotProducts",
227 235 () =>
... ... @@ -492,9 +500,30 @@ const hotLength = computed(() =&gt;
492 500 -webkit-box-orient: vertical;
493 501 }
494 502  
495   -.tabs {
496   - border-bottom: 2px solid #1f88e5;
  503 +@media screen and (min-width: 1537px) {
  504 + .tabs {
  505 + border-bottom: 2px solid #1f88e5;
  506 + margin: 10px auto 20px;
  507 + width: 96%;
  508 + }
  509 +}
  510 +@media screen and (max-width: 1536px) and (min-width: 1281px) {
  511 + .tabs {
  512 + border-bottom: 2px solid #1f88e5;
  513 + margin: 10px auto 40px;
  514 + width: 85%;
  515 + }
  516 +}
  517 +@media screen and (max-width: 1280px) {
  518 + .tabs {
  519 + border-bottom: 2px solid #1f88e5;
  520 + margin: 10px auto 40px;
  521 + width: 90%;
  522 + }
497 523 }
  524 +/* .tabs {
  525 + border-bottom: 2px solid #1f88e5;
  526 +} */
498 527  
499 528 .active {
500 529 background-color: #1086e8;
... ... @@ -506,7 +535,7 @@ const hotLength = computed(() =&gt;
506 535 align-items: center;
507 536 justify-content: center;
508 537 height: 320px;
509   - margin: 10px auto 130px;
  538 + margin: 10px auto 50px;
510 539 width: 80%;
511 540 }
512 541 }
... ... @@ -515,8 +544,8 @@ const hotLength = computed(() =&gt;
515 544 display: flex;
516 545 align-items: center;
517 546 justify-content: center;
518   - height: 320px;
519   - margin: 10px auto 80px;
  547 + height: 260px;
  548 + margin: 10px auto 0px;
520 549 width: 80%;
521 550 padding: 0;
522 551 }
... ... @@ -526,8 +555,8 @@ const hotLength = computed(() =&gt;
526 555 display: flex;
527 556 align-items: center;
528 557 justify-content: center;
529   - height: 320px;
530   - margin: 10px auto 80px;
  558 + height: 260px;
  559 + margin: 10px auto 0px;
531 560 width: 80%;
532 561 padding: 0;
533 562 }
... ... @@ -557,7 +586,7 @@ const hotLength = computed(() =&gt;
557 586 display: inline-block;
558 587 margin: 0 5px;
559 588 text-align: center;
560   - width: 260px;
  589 + width: 180px;
561 590 }
562 591 }
563 592 @media screen and (min-width: 1537px) {
... ... @@ -574,40 +603,52 @@ const hotLength = computed(() =&gt;
574 603 }
575 604 @media screen and (max-width: 1280px) {
576 605 .image-row img {
577   - width: 160px;
578   - height: 160px;
  606 + width: 120px;
  607 + height: 120px;
579 608 }
580 609 }
581 610 @media screen and (min-width: 1537px) {
582 611 .image-name {
583   - display: block;
  612 + display: -webkit-box; /* Enables multi-line text handling */
  613 + -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */
  614 + -webkit-line-clamp: 3; /* Limits the text to 3 lines */
  615 + overflow: hidden; /* Hides the overflowed text */
  616 + text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */
584 617 margin-top: 5px;
585 618 font-size: 16px;
586 619 width: 180px;
587 620 color: #555;
588   - text-align: left;
  621 + text-align: center; /* Centers the text horizontally */
589 622 margin-left: 50px;
590 623 }
591 624 }
592 625 @media screen and (max-width: 1536px) and (min-width: 1281px) {
593 626 .image-name {
594   - display: block;
  627 + display: -webkit-box; /* Enables multi-line text handling */
  628 + -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */
  629 + -webkit-line-clamp: 3; /* Limits the text to 3 lines */
  630 + overflow: hidden; /* Hides the overflowed text */
  631 + text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */
595 632 margin-top: 5px;
596 633 font-size: 16px;
597 634 width: 180px;
598 635 color: #555;
599   - text-align: left;
  636 + text-align: center; /* Centers the text horizontally */
600 637 margin-left: 10px;
601 638 }
602 639 }
603 640 @media screen and (max-width: 1280px) {
604 641 .image-name {
605   - display: block;
  642 + display: -webkit-box; /* Enables multi-line text handling */
  643 + -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */
  644 + -webkit-line-clamp: 3; /* Limits the text to 3 lines */
  645 + overflow: hidden; /* Hides the overflowed text */
  646 + text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */
606 647 margin-top: 5px;
607 648 font-size: 16px;
608 649 width: 180px;
609 650 color: #555;
610   - text-align: left;
  651 + text-align: center; /* Centers the text horizontally */
611 652 margin-left: 10px;
612 653 }
613 654 }
... ... @@ -620,10 +661,18 @@ button .recommendButton {
620 661 .recommend-left-box {
621 662 }
622 663  
  664 +@media screen and (max-width: 1280px) {
  665 + .recommend-img-left {
  666 + width: 26px;
  667 + height: 27px;
  668 + margin-bottom: 60px;
  669 + }
  670 +}
623 671 .recommend-img-left {
624 672 width: 26px;
625 673 height: 27px;
626 674 margin-right: 30px;
  675 + margin-bottom: 60px;
627 676 }
628 677  
629 678 .recommend-img-left:hover {
... ... @@ -636,6 +685,7 @@ button .recommendButton {
636 685 width: 26px;
637 686 height: 27px;
638 687 margin-left: 30px;
  688 + margin-bottom: 60px;
639 689 }
640 690  
641 691 .recommend-img-right:hover {
... ...