Files
wordpress-theme-aksrt/assets/css/routes/special.css
T

238 lines
4.7 KiB
CSS

/**
* AKSRT Special Page — 专题聚合页样式
*
* @package AKSRT
*/
.special-page {
max-width: var(--container);
margin: 0 auto;
padding: 0 var(--space-4);
}
/* Cover section */
.special-cover {
position: relative;
width: 100%;
height: 320px;
border-radius: var(--radius-xl);
overflow: hidden;
margin-bottom: var(--space-8);
background: var(--surface-2);
}
.special-cover__image {
width: 100%;
height: 100%;
object-fit: cover;
}
.special-cover__overlay {
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
display: flex;
align-items: flex-end;
padding: var(--space-8);
}
.special-cover__title {
font-size: var(--text-3xl);
font-weight: 700;
color: #fff;
margin: 0 0 var(--space-2);
}
.special-cover__summary {
font-size: var(--text-base);
color: rgba(255, 255, 255, 0.85);
margin: 0;
max-width: 600px;
line-height: var(--leading-normal);
}
/* Content layout */
.special-content {
display: grid;
grid-template-columns: 1fr 311px;
gap: var(--space-8);
align-items: start;
}
.special-content--no-sidebar {
grid-template-columns: 1fr;
}
/* Subpage cards */
.special-cards {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: var(--space-4);
}
.special-card {
background: var(--surface-1);
border: 1px solid var(--color-line);
border-radius: var(--radius-lg);
overflow: hidden;
transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.special-card:hover {
box-shadow: none;
transform: none;
}
.special-card__thumbnail {
width: 100%;
height: 180px;
object-fit: cover;
background: var(--surface-2);
}
.special-card__body {
padding: var(--card-padding);
}
.special-card__title {
font-size: var(--text-lg);
font-weight: 600;
color: var(--color-ink);
margin: 0 0 var(--space-2);
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.special-card__excerpt {
font-size: var(--text-sm);
color: var(--color-ink-3);
margin: 0;
line-height: var(--leading-normal);
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.special-card__meta {
display: flex;
align-items: center;
gap: var(--space-3);
margin-top: var(--space-3);
font-size: var(--text-xs);
color: var(--color-ink-4);
}
/* List layout */
.special-list {
display: flex;
flex-direction: column;
gap: var(--space-4);
}
.special-list-item {
display: flex;
gap: var(--space-4);
padding: var(--card-padding);
background: var(--surface-1);
border: 1px solid var(--color-line);
border-radius: var(--radius-lg);
transition: box-shadow var(--dur) var(--ease);
}
.special-list-item:hover {
box-shadow: var(--shadow);
}
.special-list-item__thumbnail {
width: 200px;
height: 130px;
object-fit: cover;
border-radius: var(--radius);
flex-shrink: 0;
background: var(--surface-2);
}
.special-list-item__body {
flex: 1;
min-width: 0;
}
.special-list-item__title {
font-size: var(--text-lg);
font-weight: 600;
color: var(--color-ink);
margin: 0 0 var(--space-2);
}
.special-list-item__excerpt {
font-size: var(--text-sm);
color: var(--color-ink-3);
margin: 0;
line-height: var(--leading-normal);
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
/* Sidebar */
.special-sidebar {
position: sticky;
top: calc(var(--nav-height) + var(--space-4));
}
.special-sidebar__section {
background: var(--surface-1);
border: 1px solid var(--color-line);
border-radius: var(--radius-lg);
padding: var(--card-padding);
margin-bottom: var(--space-4);
}
.special-sidebar__title {
font-size: var(--text-base);
font-weight: 600;
color: var(--color-ink);
margin: 0 0 var(--space-3);
padding-bottom: var(--space-3);
border-bottom: 1px solid var(--color-line-soft);
}
/* Responsive */
@media (max-width: 991px) {
.special-content {
grid-template-columns: 1fr;
}
.special-sidebar {
position: static;
}
.special-cover {
height: 220px;
border-radius: var(--radius-lg);
}
.special-cover__title {
font-size: var(--text-2xl);
}
}
@media (max-width: 640px) {
.special-cards {
grid-template-columns: 1fr;
}
.special-list-item {
flex-direction: column;
}
.special-list-item__thumbnail {
width: 100%;
height: 180px;
}
}