321 lines
6.0 KiB
SCSS
Executable File
321 lines
6.0 KiB
SCSS
Executable File
/* 首页样式 */
|
|
.joe_index {
|
|
border-radius: var(--radius-wrap);
|
|
padding: 0 15px;
|
|
background: var(--background);
|
|
box-shadow: var(--box-shadow);
|
|
&__banner {
|
|
padding-top: 15px;
|
|
display: flex;
|
|
&-recommend {
|
|
width: 270px;
|
|
margin-left: 15px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
&.noswiper {
|
|
width: 100%;
|
|
flex-direction: row;
|
|
margin-left: 0;
|
|
.item:first-child {
|
|
margin-bottom: 0;
|
|
margin-right: 7.5px;
|
|
}
|
|
.item:last-child {
|
|
margin-left: 7.5px;
|
|
}
|
|
}
|
|
.item {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 160px;
|
|
margin-bottom: 15px;
|
|
border-radius: var(--radius-inner);
|
|
overflow: hidden;
|
|
&:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.thumbnail {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
}
|
|
.information {
|
|
display: flex;
|
|
align-items: center;
|
|
position: absolute;
|
|
z-index: 1;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
padding: 8px;
|
|
background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
|
|
color: #fff;
|
|
line-height: 20px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
.type {
|
|
background-image: linear-gradient(270deg, #986fee, #8695e6, #68b7dd, #18d7d3);
|
|
background-color: #8695e6;
|
|
text-align: center;
|
|
padding: 0 8px;
|
|
border-radius: 2px;
|
|
height: 20px;
|
|
font-size: 12px;
|
|
color: #fff;
|
|
z-index: 2;
|
|
user-select: none;
|
|
margin-right: 5px;
|
|
}
|
|
.text {
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&__hot {
|
|
padding-top: 15px;
|
|
&-list {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, 1fr);
|
|
column-gap: 15px;
|
|
.item {
|
|
overflow: hidden;
|
|
.link {
|
|
display: block;
|
|
.inner {
|
|
position: relative;
|
|
&:hover {
|
|
.image {
|
|
opacity: 0.85;
|
|
}
|
|
.title {
|
|
background: var(--classC);
|
|
}
|
|
}
|
|
.image {
|
|
width: 100%;
|
|
height: 120px;
|
|
object-fit: cover;
|
|
transition: opacity 0.35s;
|
|
border-radius: var(--radius-inner) var(--radius-inner) 0 0;
|
|
}
|
|
.title {
|
|
font-size: 13px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
text-align: center;
|
|
padding: 0 8px;
|
|
line-height: 32px;
|
|
color: var(--minor);
|
|
background: var(--classD);
|
|
transition: background 0.35s;
|
|
border-radius: 0 0 var(--radius-inner) var(--radius-inner);
|
|
}
|
|
.views {
|
|
display: flex;
|
|
align-items: center;
|
|
position: absolute;
|
|
z-index: 1;
|
|
top: 5px;
|
|
right: 5px;
|
|
background-image: linear-gradient(to right, #fc712a, #f84c39);
|
|
background-color: #f84c39;
|
|
color: #fff;
|
|
font-size: 12px;
|
|
height: 18px;
|
|
padding: 0 8px;
|
|
border-radius: 2px;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&__ad {
|
|
padding-top: 15px;
|
|
&-link {
|
|
display: block;
|
|
position: relative;
|
|
.image {
|
|
width: 100%;
|
|
height: 200px;
|
|
object-fit: cover;
|
|
border-radius: var(--radius-inner);
|
|
transition: opacity 0.35s;
|
|
&:hover {
|
|
opacity: 0.85;
|
|
}
|
|
}
|
|
.icon {
|
|
position: absolute;
|
|
z-index: 1;
|
|
top: 10px;
|
|
right: 10px;
|
|
font-size: 12px;
|
|
background: rgba(0, 0, 0, 0.25);
|
|
padding: 2px 5px;
|
|
border-radius: 2px;
|
|
color: #ebebeb;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
}
|
|
&__title {
|
|
display: flex;
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--classC);
|
|
&-title {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
color: var(--routine);
|
|
font-weight: 500;
|
|
height: 40px;
|
|
line-height: 40px;
|
|
.item {
|
|
cursor: pointer;
|
|
margin-right: 20px;
|
|
user-select: none;
|
|
transition: color 0.35s;
|
|
&.active {
|
|
color: var(--theme);
|
|
}
|
|
}
|
|
.line {
|
|
position: absolute;
|
|
bottom: -1px;
|
|
left: 0;
|
|
height: 2px;
|
|
border-radius: 1px;
|
|
background: var(--theme);
|
|
transition: left 0.35s, width 0.35s;
|
|
}
|
|
}
|
|
&-notice {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-left: auto;
|
|
height: 40px;
|
|
svg {
|
|
min-width: 20px;
|
|
min-height: 20px;
|
|
width: 20px;
|
|
height: 20px;
|
|
margin-right: 5px;
|
|
}
|
|
a {
|
|
color: var(--minor);
|
|
line-height: 20px;
|
|
max-width: 300px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
transition: color 0.35s;
|
|
&:hover {
|
|
color: var(--theme);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.swiper-container {
|
|
min-width: 0;
|
|
flex: 1;
|
|
height: 335px;
|
|
--swiper-theme-color: #fff;
|
|
border-radius: var(--radius-inner);
|
|
.item {
|
|
display: block;
|
|
height: 335px;
|
|
border-radius: var(--radius-inner);
|
|
.thumbnail {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
transition: opacity 0.35s;
|
|
&:hover {
|
|
opacity: 0.85;
|
|
}
|
|
}
|
|
.title {
|
|
position: absolute;
|
|
z-index: 1;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
text-align: center;
|
|
background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.45));
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
color: #fff;
|
|
font-size: 15px;
|
|
padding: 10px;
|
|
font-weight: normal;
|
|
}
|
|
.icon {
|
|
position: absolute;
|
|
z-index: 1;
|
|
top: 10px;
|
|
left: 10px;
|
|
width: 18px;
|
|
height: 18px;
|
|
fill: #fff;
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
&.swiper-container-horizontal {
|
|
.swiper-pagination-bullets {
|
|
bottom: unset;
|
|
left: unset;
|
|
width: auto;
|
|
right: 10px;
|
|
top: 10px;
|
|
}
|
|
}
|
|
&.swiper-container-vertical {
|
|
.swiper-button-next,
|
|
.swiper-button-prev {
|
|
display: none;
|
|
}
|
|
}
|
|
.swiper-button-next,
|
|
.swiper-button-prev {
|
|
background: rgba(0, 0, 0, 0.1);
|
|
transition: background 0.35s, right 0.35s, left 0.35s;
|
|
border-radius: 2px;
|
|
&:hover {
|
|
background: rgba(0, 0, 0, 0.25);
|
|
}
|
|
&::after {
|
|
font-size: 20px;
|
|
}
|
|
}
|
|
.swiper-button-next {
|
|
right: -27px;
|
|
}
|
|
.swiper-button-prev {
|
|
left: -27px;
|
|
}
|
|
&:hover {
|
|
.swiper-button-next {
|
|
right: 10px;
|
|
}
|
|
.swiper-button-prev {
|
|
left: 10px;
|
|
}
|
|
}
|
|
}
|