Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
J
jiayun
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xuchentao
jiayun
Commits
7feb311d
Commit
7feb311d
authored
Jul 31, 2026
by
xuchentao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
style: compact article card headers
parent
b1a96d2f
Pipeline
#438
passed with stage
in 16 seconds
Changes
2
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
3 deletions
+6
-3
ArticleListing.astro
src/components/ArticleListing.astro
+4
-1
global.css
src/styles/global.css
+2
-2
No files found.
src/components/ArticleListing.astro
View file @
7feb311d
...
...
@@ -6,7 +6,10 @@ 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><strong>嘉运资讯</strong><small>NEWS {String(index + 1).padStart(2, "0")}</small></a>
<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>
<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>
src/styles/global.css
View file @
7feb311d
...
...
@@ -141,7 +141,7 @@ h3 { font-size: 21px; }
.faq-page-layout
{
display
:
grid
;
grid-template-columns
:
310px
1
fr
;
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
:
1
fr
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
:
.85
fr
1.15
fr
;
gap
:
24px
;
}
.contact-cards
{
display
:
grid
;
gap
:
14px
;
}
.contact-cards
>
*
{
display
:
grid
;
grid-template-columns
:
46px
1
fr
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
1
fr
;
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.1
fr
repeat
(
3
,
1
fr
);
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
,
1
fr
);
gap
:
20px
;
}
.article-card
{
overflow
:
hidden
;
background
:
#fff
;
border-radius
:
var
(
--radius
);
}
.article-card__intro
{
min-height
:
176px
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
flex-start
;
justify-content
:
flex-end
;
padding
:
25px
;
color
:
#fff
;
background
:
var
(
--dark
);
}
.article-card__intro
>
span
{
margin-bottom
:
auto
;
color
:
var
(
--primary
);
font-size
:
10px
;
font-weight
:
800
;
}
.article-card__intro
>
strong
{
margin-top
:
36px
;
font-size
:
23px
;
}
.article-card__intro
>
small
{
margin-top
:
5px
;
color
:
#9f9693
;
font-size
:
9px
;
letter-spacing
:
.14
em
;
}
.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
,
1
fr
);
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
:
.12
em
;
}
.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
);
}
.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
,
1
fr
)
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
:
1
fr
;
}
.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
:
1
fr
;
}
.visit-tips
.container
>
*
{
padding
:
22px
;
}
.article-card__intro
{
min-height
:
160
px
;
}
.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
:
1
fr
;
}
.visit-tips
.container
>
*
{
padding
:
22px
;
}
.article-card__intro
{
min-height
:
52px
;
padding-inline
:
18
px
;
}
.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
:
1
fr
1
fr
;
}
.footer-brand
,
.footer-contact
{
grid-column
:
1
/
-1
;
}
.footer-bottom
{
flex-direction
:
column
;
gap
:
8px
;
}
.footer-logo
{
width
:
170px
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment