.container { position: relative; width: 100vw; height: 100vh; overflow: hidden; background: url('../../common/images/icon_bg.png') no-repeat center center / cover; display: flex; flex-direction: column; } .head { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 19px 23px 8px 41px; transition: opacity .3s ease-in-out; .back { img { display: block; } } .tabs { :global { .van-tab { color: rgba(255, 255, 255, .9); font-size: 15px; padding: 0 16px; &.van-tab--active { color: #fff; } } .van-tabs__nav.van-tabs__nav--line { background: transparent; } .van-tabs__line { background: #fff; width: 18px; height: 4px; } } } } .downBtn { width: 84px; height: 32px; background: #F8F9FC; border-radius: 16px; border: none; padding: 0; display: flex; justify-content: center; align-items: center; :global { .van-button__content { width: 100%; } .van-button__text { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; font-size: 13px; color: #333; font-weight: 400; } } .icon { width: 8px; height: 5px; margin-left: 4px; transition: transform .2s ease; } .iconUp { color: var(--van-primary-color); transform: rotate(180deg); transition: transform .2s ease; } } .popover { width: 83px; border: none; :global { .van-popover__action { display: flex; justify-content: center; align-items: center; padding: 0; width: 100%; height: 36px; color: #999; font-size: 13px; } .van-popover__content { max-height: 70vh; overflow-x: hidden; overflow-y: auto; } } } .content { flex: 1; overflow-y: hidden; overflow-x: auto; display: flex; .wrap { position: relative; display: flex; height: 100%; padding: 20px 63px 0; &.emtpyWrap { width: 100%; } } :global { .van-empty__description { font-size: 14px; color: #fff; } .van-empty__image { width: 200px; height: 200px; } } } .wrapItem { position: relative; width: 154px; display: flex; flex-direction: column; align-items: center; padding: 0 16px; flex-shrink: 0; z-index: 1; .item { position: relative; margin-bottom: 15px; width: 100%; height: 170px; background-color: #EDEFF2; box-shadow: 0 5px 14Px rgba(0,0,0,0.4); &::before { content: ""; position: absolute; top: 4Px; right: -4Px; width: 4Px; height: calc(100% - 8Px); background-color: #c5c5c5; z-index: 1; } &::after { content: ""; position: absolute; top: 2Px; right: -2Px; width: 4Px; height: calc(100% - 4Px); background-color: #e7e7e7; z-index: 2; } } .name { font-size: 11px; font-weight: 400; color: #FFFFFF; line-height: 16px; text-align: center; } .favoriteBtn { position: absolute; top: 135px; right: 20px; z-index: 3; } } .containerImg { position: relative; display: block; width: 100%; height: 170px; &::before { content: ''; position: absolute; top: 4Px; right: -4Px; width: 4Px; height: calc(100% - 8Px); background-color: #C5C5C5; z-index: 1; } &::after { content: ''; position: absolute; top: 2Px; right: -2Px; width: 4Px; height: calc(100% - 4Px); background-color: #E7E7E7; z-index: 2; } } .cover { position: relative; z-index: 3; display: block; width: 100%; height: 170px; background-color: #edeff2; background-image: url('./image/icon_default.svg'); background-repeat: no-repeat; background-position: center center; &::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; background-repeat: no-repeat; background-image: linear-gradient(to right, rgba(0, 0, 0, .2) 0, rgba(255, 255, 255, .08) 0%, transparent .5%), linear-gradient(to right, rgba(0, 0, 0, .1) .3%, rgba(255, 255, 255, .09) 1.1%, transparent 1.3%); background-size: 50% 100%, 50% 100%; background-position: 0% top, 9% top; } :global { img { width: 100%; height: 100%; opacity: 0; transition: opacity .3s ease-in-out; } } &.loaded { img { opacity: 1; } } } .book { position: fixed; top: 50%; left: 50%; width: 50vw; transform: translate(-50%, -50%) scale(0); z-index: 20; background-color: #fff; transition: all .3s ease-in-out; visibility: hidden; pointer-events: none; border-radius: 8px; box-shadow: 0 0 10px 0 rgba(0, 0, 0, .2); .bookWrap { height: 60vh; overflow-y: auto; ul { list-style: circle; padding: 10px 40px; } } &.show { visibility: visible; pointer-events: auto; transform: translate(-50%, -50%) scale(1); } }