Browse Source

img优化

master
xuhuajiao 2 years ago
parent
commit
091a447721
  1. 10
      src/assets/styles/index.scss
  2. 2
      src/views/digitalResource.vue
  3. 13
      src/views/module/bookDetails.vue
  4. 20
      src/views/module/bookList.vue
  5. 2
      src/views/module/homeListItem.vue

10
src/assets/styles/index.scss

@ -161,11 +161,13 @@
width: 100%; width: 100%;
height: 520px; height: 520px;
border-radius: 4px; border-radius: 4px;
overflow: hidden;
} }
img{ img{
display: block; display: block;
width: 100%; width: 100%;
height: 100%;
max-height: 100%;
object-fit: contain;
} }
.book-info{ .book-info{
padding: 12px 0 0 44px; padding: 12px 0 0 44px;
@ -194,10 +196,13 @@
width: 244px; width: 244px;
height: 100%; height: 100%;
margin-right: 20px; margin-right: 20px;
overflow: hidden;
} }
img{ img{
display: block; display: block;
width: 100%; width: 100%;
max-height: calc(100%);
object-fit: contain;
} }
.book-info{ .book-info{
padding: 20px 10px 0 0; padding: 20px 10px 0 0;
@ -229,10 +234,13 @@
width: 100%; width: 100%;
height: 240px; height: 240px;
margin-bottom: 10px; margin-bottom: 10px;
overflow: hidden;
} }
img{ img{
display: block; display: block;
width: 100%; width: 100%;
max-height: calc(100%);
object-fit: contain;
} }
.book-title{ .book-title{
margin-bottom: 0; margin-bottom: 0;

2
src/views/digitalResource.vue

@ -8,7 +8,7 @@
</div> </div>
<div class="main"> <div class="main">
<div v-for="(item,index) in srcList" :key="index" class="main-item" @click="jump(item.nrsUrl)"> <div v-for="(item,index) in srcList" :key="index" class="main-item" @click="jump(item.nrsUrl)">
<img :src="'data:image/png;base64,' + item.nrsImages">
<img :src="'data:image/png;base64,' + item.nrsImages" />
<div class="title"> <div class="title">
{{ item.nrsTitle }} {{ item.nrsTitle }}
</div> </div>

13
src/views/module/bookDetails.vue

@ -10,17 +10,19 @@
<div class="book-details-box"> <div class="book-details-box">
<div class="book-details"> <div class="book-details">
<div class="book-cover"> <div class="book-cover">
<img :src="bookData.srcUrl ? bookData.srcUrl : ''" :onerror="defaultImg">
<img :src="bookData.srcUrl ? bookData.srcUrl : ''" :onerror="defaultImg" />
</div> </div>
<div class="book-desc"> <div class="book-desc">
<h3>{{ bookData.bookName }}</h3> <h3>{{ bookData.bookName }}</h3>
<p class="book-from">作者{{ bookData.bookAuthor }}</p> <p class="book-from">作者{{ bookData.bookAuthor }}</p>
<p v-if="bookData.Publish" class="book-from">出版社{{ bookData.Publish }}</p> <p v-if="bookData.Publish" class="book-from">出版社{{ bookData.Publish }}</p>
<p class="book-brief"> 简介{{ bookData.gist }}</p>
<p class="book-brief"> 简介{{ bookData.gist ? bookData.gist : '暂无简介' }}</p>
</div> </div>
</div> </div>
<div class="book-local"> <div class="book-local">
<span v-if="bookData.bookPlace">所在位置{{ bookData.bookPlace }}</span> <span v-if="bookData.bookPlace">所在位置{{ bookData.bookPlace }}</span>
<!-- 待定热门图书/新书推荐跳转到 场馆导航操作 -->
<span v-else>所在位置</span>
</div> </div>
</div> </div>
</div> </div>
@ -86,12 +88,17 @@ export default {
justify-content: space-between; justify-content: space-between;
padding: 30px 0; padding: 30px 0;
.book-cover{ .book-cover{
display: flex;
align-items: center;
width: 318px; width: 318px;
height: 382px; height: 382px;
margin-right: 40px; margin-right: 40px;
overflow: hidden;
img{ img{
display: block;
width: 100%; width: 100%;
height: 100%;
max-height: calc(100%);
object-fit: contain;
} }
} }
.book-desc{ .book-desc{

20
src/views/module/bookList.vue

@ -15,7 +15,9 @@
</div> </div>
<ul class="hotbook-list"> <ul class="hotbook-list">
<li v-for="(item,index) in bookList" :key="index" @click="handleDetails(index+1)"> <li v-for="(item,index) in bookList" :key="index" @click="handleDetails(index+1)">
<img :src="item.cover ? item.cover : ''" :onerror="defaultImg">
<div class="other-list-img">
<img :src="item.cover ? item.cover : ''" :onerror="defaultImg" />
</div>
<p class="book-name">{{ item.nbName || item.hbName }}</p> <p class="book-name">{{ item.nbName || item.hbName }}</p>
</li> </li>
</ul> </ul>
@ -89,10 +91,14 @@ export default {
bottom: 20px; bottom: 20px;
width: 318px; width: 318px;
height: 382px; height: 382px;
display: flex;
align-items: center;
overflow: hidden; overflow: hidden;
img{ img{
display: block;
width: 100%; width: 100%;
vertical-align: middle; vertical-align: middle;
object-fit: contain;
} }
} }
.txt{ .txt{
@ -124,11 +130,19 @@ export default {
margin-left: 48px; margin-left: 48px;
width: 300px; width: 300px;
overflow: hidden; overflow: hidden;
// text-align: center;
.other-list-img{
display: flex;
align-items: center;
width: 100%;
height: 360px;
overflow: hidden;
}
img{ img{
display: block;
width: 100%; width: 100%;
max-height: calc(100%);
vertical-align: middle; vertical-align: middle;
height: 360px;
object-fit: contain;
} }
.book-name{ .book-name{
width: 100%; width: 100%;

2
src/views/module/homeListItem.vue

@ -3,7 +3,7 @@
<div :class="[isNewBook ? 'list-small' : (isOtherBook ? 'list-middle' : 'list-big') ]"> <div :class="[isNewBook ? 'list-small' : (isOtherBook ? 'list-middle' : 'list-big') ]">
<div v-for="(item,index) in listData" :key="item.ranking" class="list-item" @click="handleDetails(index)"> <div v-for="(item,index) in listData" :key="item.ranking" class="list-item" @click="handleDetails(index)">
<div class="book-img"> <div class="book-img">
<img :src="item.cover" :onerror="defaultImg">
<img :src="item.cover" :onerror="defaultImg" />
</div> </div>
<div class="book-info"> <div class="book-info">
<h4 :class="['book-title', {'title-item': !isOtherBook}]">{{ item.nbName }}</h4> <h4 :class="['book-title', {'title-item': !isOtherBook}]">{{ item.nbName }}</h4>

Loading…
Cancel
Save