Commit 85a3e149 authored by xuchentao's avatar xuchentao

style: simplify article cards

parent 7feb311d
Pipeline #439 passed with stage
in 16 seconds
......@@ -5,11 +5,7 @@ interface Props { items: Article[]; }
const { items } = Astro.props;
---
<div class="article-grid">
{items.map((article, index) => <article class:list={["article-card", index === 0 && "article-card--featured"]}>
<a href={`/articles/${article.data.slug}/`} class="article-card__intro" aria-label={article.data.title}>
<span>{article.data.category}</span>
<span class="article-card__series">嘉运资讯 <small>NEWS {String(index + 1).padStart(2, "0")}</small></span>
</a>
{items.map((article) => <article class="article-card">
<div class="article-card__body"><div class="article-meta"><time datetime={article.data.date.toISOString()}>{article.data.date.toISOString().slice(0, 10)}</time><span>{article.data.category}</span></div><h2><a href={`/articles/${article.data.slug}/`}>{article.data.title}</a></h2><p>{article.data.excerpt}</p><a class="text-link" href={`/articles/${article.data.slug}/`}>阅读全文 <Icon name="arrow" size={17} /></a></div>
</article>)}
</div>
......@@ -141,7 +141,7 @@ h3 { font-size: 21px; }
.faq-page-layout { display: grid; grid-template-columns: 310px 1fr; gap: 90px; align-items: start; }.faq-page-layout aside { position: sticky; top: 130px; padding: 28px; color: #fff; background: var(--dark); border-radius: var(--radius); }.faq-page-layout aside > span { color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: .15em; }.faq-page-layout aside h2 { margin-top: 28px; font-size: 26px; }.faq-page-layout aside p { color: #b9b0ad; font-size: 13px; }.faq-page-layout aside .button { width: 100%; margin-top: 10px; }.faq-page-list summary { min-height: 90px; font-size: 17px; }.faq-page-list details > p { padding-bottom: 30px; font-size: 15px; }
.contact-hero { padding: 86px 0; color: #fff; background: var(--dark); }.contact-hero__inner { display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: end; }.contact-hero h1 { margin-bottom: 18px; }.contact-hero__inner > div:first-child > p:last-child { max-width: 650px; margin: 0; color: #bdb5b2; }.contact-number { display: grid; text-align: right; }.contact-number small { color: var(--primary); font-size: 10px; letter-spacing: .16em; }.contact-number a { font-size: clamp(28px, 3.5vw, 46px); font-weight: 800; letter-spacing: -.03em; }.contact-number span { color: #a39a97; font-size: 12px; }.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 24px; }.contact-cards { display: grid; gap: 14px; }.contact-cards > * { display: grid; grid-template-columns: 46px 1fr 24px; align-items: center; gap: 15px; padding: 25px; background: var(--background); border: 1px solid transparent; border-radius: var(--radius); transition: .2s ease; }.contact-cards > a:hover { border-color: var(--primary); background: #fff; }.contact-cards > * > svg:first-child { color: var(--primary); }.contact-cards span { display: grid; }.contact-cards small { color: var(--muted); font-size: 11px; }.contact-cards strong { font-size: 16px; }.visit-panel { min-height: 450px; display: flex; flex-direction: column; justify-content: center; padding: 46px; color: #fff; background: var(--dark); border-radius: 24px; }.visit-panel > p { margin: 0; color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: .16em; }.visit-panel h2 { margin: 24px 0 28px; }.visit-panel dl { margin: 0 0 30px; border-top: 1px solid rgba(255,255,255,.14); }.visit-panel dl > div { display: grid; grid-template-columns: 76px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.14); }.visit-panel dt { color: var(--primary); font-size: 12px; font-weight: 800; }.visit-panel dd { margin: 0; color: #b7afac; font-size: 13px; }.visit-panel .button { align-self: flex-start; color: #fff; background: transparent; border-color: rgba(255,255,255,.25); }.visit-panel .button:hover { color: var(--primary); border-color: var(--primary); }.visit-tips { padding-top: 0; }.visit-tips .container { display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); gap: 1px; padding: 0; overflow: hidden; background: var(--border); border: 1px solid var(--border); border-radius: var(--radius); }.visit-tips .container > * { margin: 0; padding: 28px; background: #fff; }.visit-tips h2 { font-size: 23px; }.visit-tips span { color: var(--primary); font-size: 11px; font-weight: 800; }.visit-tips p { color: var(--muted); font-size: 12px; }.visit-tips b { display: block; color: var(--ink); font-size: 15px; }
.journal-hero { padding-bottom: 80px; }.journal-section { background: var(--background); }.category-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 38px; }.category-nav a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; background: #fff; border: 1px solid var(--border); border-radius: 999px; font-size: 13px; }.category-nav a span { color: #9a918e; }.category-nav a:hover, .category-nav a[aria-current="page"] { color: #fff; background: var(--primary); border-color: var(--primary); }.category-nav a[aria-current="page"] span { color: #fff; }.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.article-card { overflow: hidden; background: #fff; border-radius: var(--radius); }.article-card__intro { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 20px; color: #fff; background: var(--dark); }.article-card__intro > span:first-child { padding: 5px 9px; color: var(--primary); background: rgba(255,125,65,.1); border: 1px solid rgba(255,125,65,.25); border-radius: 999px; font-size: 10px; font-weight: 800; }.article-card__series { display: inline-flex; align-items: center; gap: 8px; color: #d8d1ce; font-size: 11px; font-weight: 700; white-space: nowrap; }.article-card__series small { color: #8f8581; font-size: 8px; font-weight: 700; letter-spacing: .12em; }.article-card__body { padding: 25px; }.article-meta { display: flex; justify-content: space-between; color: #9a918e; font-size: 10px; }.article-card h2 { margin: 14px 0 12px; font-size: 20px; }.article-card h2 a:hover { color: var(--primary); }.article-card p { color: var(--muted); font-size: 13px; }.article-card .text-link { margin-top: 8px; }.pagination { display: flex; justify-content: center; gap: 7px; margin-top: 50px; }.pagination a, .pagination span { width: 38px; height: 38px; display: grid; place-items: center; background: #fff; border: 1px solid var(--border); border-radius: 50%; font-size: 13px; }.pagination a[aria-current="page"] { color: #fff; background: var(--primary); border-color: var(--primary); }.empty-state { padding: 80px; text-align: center; background: #fff; border-radius: var(--radius); }.empty-state h2 { font-size: 27px; }.empty-state p { color: var(--muted); }
.journal-hero { padding-bottom: 80px; }.journal-section { background: var(--background); }.category-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 38px; }.category-nav a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; background: #fff; border: 1px solid var(--border); border-radius: 999px; font-size: 13px; }.category-nav a span { color: #9a918e; }.category-nav a:hover, .category-nav a[aria-current="page"] { color: #fff; background: var(--primary); border-color: var(--primary); }.category-nav a[aria-current="page"] span { color: #fff; }.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.article-card { display: flex; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(50,29,20,.04); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }.article-card:hover { border-color: #f4c2aa; box-shadow: 0 16px 36px rgba(50,29,20,.08); transform: translateY(-3px); }.article-card__body { width: 100%; display: flex; flex-direction: column; padding: 28px; }.article-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #9a918e; font-size: 10px; }.article-meta span { padding: 5px 9px; color: var(--primary); background: var(--primary-light); border-radius: 999px; font-weight: 700; }.article-card h2 { margin: 22px 0 12px; font-size: 21px; line-height: 1.35; }.article-card h2 a:hover { color: var(--primary); }.article-card p { margin: 0 0 24px; color: var(--muted); font-size: 13px; }.article-card .text-link { margin-top: auto; }.pagination { display: flex; justify-content: center; gap: 7px; margin-top: 50px; }.pagination a, .pagination span { width: 38px; height: 38px; display: grid; place-items: center; background: #fff; border: 1px solid var(--border); border-radius: 50%; font-size: 13px; }.pagination a[aria-current="page"] { color: #fff; background: var(--primary); border-color: var(--primary); }.empty-state { padding: 80px; text-align: center; background: #fff; border-radius: var(--radius); }.empty-state h2 { font-size: 27px; }.empty-state p { color: var(--muted); }
.article-page > header { padding: 80px 0; background: var(--primary-light); }.article-header { max-width: 900px; }.article-category { display: inline-block; margin-bottom: 20px; padding: 6px 10px; color: var(--primary); background: #fff; border-radius: 999px; font-size: 11px; font-weight: 700; }.article-header h1 { margin-bottom: 26px; font-size: clamp(38px, 5vw, 66px); }.article-byline { display: flex; flex-wrap: wrap; gap: 18px; color: var(--muted); font-size: 12px; }.article-layout { max-width: 1020px; display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 68px; padding-top: 72px; padding-bottom: 110px; align-items: start; }.article-content { min-width: 0; color: #403936; font-size: 16px; line-height: 1.9; }.article-content h2 { margin: 44px 0 18px; color: var(--ink); font-size: 30px; }.article-content h3 { margin: 34px 0 14px; color: var(--ink); }.article-content img { height: auto; margin: 30px 0; border-radius: 14px; }.article-content a { color: var(--primary); text-decoration: underline; }.article-content blockquote { margin: 28px 0; padding: 18px 22px; background: var(--primary-light); border-left: 4px solid var(--primary); }.article-content ul, .article-content ol { padding-left: 24px; }.article-layout aside { position: sticky; top: 130px; padding: 22px; background: var(--background); border-radius: 14px; }.article-layout aside strong { display: block; margin-bottom: 10px; }.article-layout aside p { color: var(--muted); font-size: 12px; }.article-layout aside a { color: var(--primary); font-size: 12px; font-weight: 700; }
.not-found { min-height: 65vh; display: grid; place-items: center; padding: 80px 24px; text-align: center; background: var(--primary-light); }.not-found > div > span { color: var(--primary); font-size: clamp(90px, 18vw, 210px); font-weight: 900; line-height: .8; opacity: .22; }.not-found h1 { margin-top: 20px; font-size: 42px; }.not-found p { color: var(--muted); }
......@@ -170,6 +170,6 @@ h3 { font-size: 21px; }
.container { width: min(100% - 28px, 520px); }.section { padding: 68px 0; } h1 { font-size: clamp(38px, 12vw, 54px); }.section-heading { margin-bottom: 36px; }
.hero__inner { min-height: auto; padding-top: 54px; padding-bottom: 46px; }.hero-lead { font-size: 16px; }.hero-actions .button { flex: 1; min-width: 150px; }.hero-trust { gap: 10px 16px; }
.stats-grid strong { font-size: 26px; }.stats-grid div { padding: 25px 18px; }.service-grid, .article-grid, .process-grid, .values-grid, .fit-grid, .certification-cards { grid-template-columns: 1fr; }.service-card { min-height: 285px; }.trust-proof { min-height: auto; padding: 36px 28px; }.faq-layout { gap: 16px; }.faq-list summary { min-height: 82px; }.faq-list details > p { padding-left: 48px; }
.page-hero { padding: 62px 0 72px; }.page-hero::after { display: none; }.breadcrumb { margin-bottom: 30px; }.service-detail-list { gap: 70px; }.about-story__facts, .service-detail__summary, .visit-panel { min-height: auto; padding: 36px 28px; }.join-hero { padding: 65px 0; }.join-card { padding: 28px; }.contact-hero { padding: 65px 0; }.contact-number a { font-size: 32px; }.visit-tips .container { grid-template-columns: 1fr; }.visit-tips .container > * { padding: 22px; }.article-card__intro { min-height: 52px; padding-inline: 18px; }.article-page > header { padding: 58px 0; }.article-layout { padding-top: 48px; padding-bottom: 80px; }.article-content { font-size: 15px; }.empty-state { padding: 55px 24px; }
.page-hero { padding: 62px 0 72px; }.page-hero::after { display: none; }.breadcrumb { margin-bottom: 30px; }.service-detail-list { gap: 70px; }.about-story__facts, .service-detail__summary, .visit-panel { min-height: auto; padding: 36px 28px; }.join-hero { padding: 65px 0; }.join-card { padding: 28px; }.contact-hero { padding: 65px 0; }.contact-number a { font-size: 32px; }.visit-tips .container { grid-template-columns: 1fr; }.visit-tips .container > * { padding: 22px; }.article-card__body { padding: 24px; }.article-page > header { padding: 58px 0; }.article-layout { padding-top: 48px; padding-bottom: 80px; }.article-content { font-size: 15px; }.empty-state { padding: 55px 24px; }
.cta-section { padding-bottom: 68px; }.cta-panel { padding: 36px 26px; }.cta-actions { width: 100%; }.cta-actions .button { width: 100%; }.footer-grid { grid-template-columns: 1fr 1fr; }.footer-brand, .footer-contact { grid-column: 1 / -1; }.footer-bottom { flex-direction: column; gap: 8px; }.footer-logo { width: 170px; }
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment