全新popiart网站 react项目重构
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

330 lines
6.4 KiB

/* 页面边距 + 角色库区块(原 CharacterLibrarySections) */
.charactersPage {
box-sizing: border-box;
width: 100%;
min-height: 100%;
padding: 22px 24px 40px;
background: #ffffff;
@media (max-width: 520px) {
padding: 16px 14px 28px;
}
}
.character_library_sections {
box-sizing: border-box;
width: 100%;
&__section {
width: 100%;
}
&__section+&__section {
margin-top: 30px;
}
&__section_head {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 12px 16px;
min-height: 42px;
}
&__title_wrap {
flex: 0 1 auto;
min-height: 42px;
display: flex;
align-items: center;
}
&__tabs {
display: flex;
align-items: center;
gap: 18px;
}
&__section_title {
position: relative;
margin: 0;
padding: 0 0 3px;
display: inline-block;
font-family: "Source Han Sans CN", "Noto Sans SC", system-ui, sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 26px;
color: #333333;
}
&__section_title::after {
content: "";
position: absolute;
left: calc(50% - 0.5px);
bottom: -5px;
transform: translateX(-50%);
width: 39px;
height: 3px;
background: #5c3bc7;
}
&__section_tab {
position: relative;
margin: 0;
padding: 0 0 3px;
border: none;
background: transparent;
cursor: pointer;
font-family: "Source Han Sans CN", "Noto Sans SC", system-ui, sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 26px;
color: #999999;
}
&__section_tab_active {
color: #333333;
}
&__section_tab_active::after {
content: "";
position: absolute;
left: calc(50% - 0.5px);
bottom: -5px;
transform: translateX(-50%);
width: 39px;
height: 3px;
background: #5c3bc7;
}
&__search {
flex: 0 0 auto;
position: relative;
width: 228px;
max-width: 100%;
height: 27px;
box-sizing: border-box;
background: #ffffff;
border: 1px solid #e5e6eb;
border-radius: 9px;
}
&__search_icon {
position: absolute;
left: 9px;
top: 50%;
transform: translateY(-50%);
width: 20px;
height: 20px;
display: block;
object-fit: contain;
pointer-events: none;
}
&__search_input {
width: 100%;
height: 100%;
box-sizing: border-box;
border: none;
background: transparent;
padding: 0 12px 0 36px;
font-family: "Source Han Sans CN", "Noto Sans SC", system-ui, sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 26px;
color: #333333;
border-radius: 9px;
outline: none;
}
&__search_input::placeholder {
color: #999999;
}
&__category {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 6px;
min-width: 105px;
height: 27px;
box-sizing: border-box;
padding: 0 15px;
background: #ffffff;
border: 1px solid #e5e6eb;
border-radius: 9px;
cursor: pointer;
font-family: "Source Han Sans CN", "Noto Sans SC", system-ui, sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 26px;
color: #333333;
}
&__category_icon {
width: 15px;
height: 15px;
flex-shrink: 0;
display: block;
object-fit: contain;
transform: rotate(90deg);
}
&__category_dropdown {
min-width: 120px;
max-width: 220px;
max-height: 380px;
overflow-y: auto;
padding: 4px;
box-sizing: border-box;
background: #ffffff;
border: 1px solid #e5e6eb;
border-radius: 9px;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
&__category_menu_item {
width: 100%;
height: 32px;
padding: 0 10px;
border: none;
border-radius: 6px;
background: transparent;
cursor: pointer;
font-family: "Source Han Sans CN", "Noto Sans SC", system-ui, sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 26px;
color: #333333;
text-align: left;
box-sizing: border-box;
}
&__category_menu_item:hover {
background: #f5f5f5;
}
&__category_menu_item_active {
color: #5c3bc7;
}
&__grid {
margin-top: 10px;
display: grid;
grid-template-columns: repeat(auto-fill, 168px);
gap: 15px;
justify-content: start;
width: 100%;
}
&__card {
position: relative;
width: 168px;
max-width: 100%;
height: 168px;
box-sizing: border-box;
border: 2px solid #f0f0f0;
border-radius: 9px;
overflow: hidden;
background: #ffffff;
padding: 0;
cursor: pointer;
text-align: left;
}
&__card_image {
width: 100%;
height: 100%;
display: block;
object-fit: cover;
border-radius: 7px;
}
&__card_tag {
position: absolute;
right: 0;
bottom: 0;
min-width: 77px;
height: 26px;
padding: 0 10px;
box-sizing: border-box;
border-top-left-radius: 24px;
border-bottom-right-radius: 9px;
background: linear-gradient(90deg, #333333 0%, #5c3bc7 100%);
display: flex;
align-items: center;
justify-content: center;
font-family: "Source Han Sans CN", "Noto Sans SC", system-ui, sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 24px;
color: #ffffff;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
&__sentinel {
width: 100%;
height: 1px;
}
&__loading_more {
margin: 10px 0 0;
font-family: "Source Han Sans CN", "Noto Sans SC", system-ui, sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 26px;
color: #999999;
text-align: center;
}
&__diy_card {
cursor: pointer;
border: none;
background: linear-gradient(135.56035313936027deg,
rgb(240, 240, 240) 36.134%,
rgb(214, 206, 239) 99.52%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 11px;
}
&__diy_icon {
width: 32px;
height: 32px;
display: block;
object-fit: contain;
flex-shrink: 0;
}
&__diy_label {
margin: 0;
font-family: "Source Han Sans CN", "Noto Sans SC", system-ui, sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 24px;
color: #666666;
text-align: center;
}
@media (max-width: 520px) {
&__search {
width: 100%;
}
&__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
&__card {
width: 100%;
height: auto;
aspect-ratio: 1 / 1;
}
}
}