Bear Blog list styles
The default Bear Blog theme keeps the blog list simple, a plain list of dates and titles, no dividers or extra spacing. I'm here to offer you some more options.
This page collects small CSS tweaks and variations for the layout and structure of the blog list. Each one works out of the box, but they're just as much meant as a starting point. Mix and match, tweak the values, or use them to learn more about theme styling.
Last updated 37 minutes ago.
Divider

ul.blog-posts li {
padding-block: 0.5em;
border-block-end: 1px solid color-mix(in srgb, var(--text-color) 15%, transparent);
}
ul.blog-posts li:last-child {
border-block-end: none;
}
Split

ul.blog-posts {
border-block: 1px solid color-mix(in srgb, var(--text-color) 15%, transparent);
}
ul.blog-posts li {
padding-block: 0.5em;
border-block-end: 1px solid color-mix(in srgb, var(--text-color) 15%, transparent);
}
ul.blog-posts li:last-child {
border-block-end: none;
}
ul.blog-posts li a {
order: 1;
flex: 1;
min-width: 0;
}
ul.blog-posts li span {
order: 2;
flex: 0 0 auto;
margin-inline-start: auto;
white-space: nowrap;
}
Cards

ul.blog-posts li {
align-items: baseline;
padding-block: 0.8em;
padding-inline: 1em;
margin-block-end: 0.6em;
background: color-mix(in srgb, var(--text-color) 6%, var(--background-color));
border-radius: 8px;
}
ul.blog-posts li a {
order: 1;
flex: 1;
min-width: 0;
}
ul.blog-posts li span {
order: 2;
flex: 0 0 auto;
margin-inline-start: auto;
white-space: nowrap;
}
ul.blog-posts li span time {
font-size: 13px;
}
Stacked

ul.blog-posts li {
display: block;
margin-block-end: 1em;
}
ul.blog-posts li span {
display: block;
font-size: 0.85em;
color: color-mix(in srgb, var(--text-color) 60%, transparent);
margin-block-start: 0.15em;
}
Boxed

ul.blog-posts {
padding: 0.5em 1em;
background: color-mix(in srgb, var(--text-color) 6%, var(--background-color));
border-radius: 8px;
}
ul.blog-posts li {
padding-block: 0.6em;
border-block-end: 1px solid color-mix(in srgb, var(--text-color) 15%, transparent);
}
ul.blog-posts li:last-child {
border-block-end: none;
}
Timeline

ul.blog-posts {
padding-inline-start: 1.2em;
border-inline-start: 2px solid var(--link-color);
}
ul.blog-posts li {
position: relative;
padding-block: 0.4em;
}
ul.blog-posts li::before {
content: "";
position: absolute;
inset-inline-start: -1.45em;
inset-block-start: 0.9em;
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--link-color);
}
Dotted leaders

ul.blog-posts li {
display: flex;
align-items: baseline;
gap: 0.5em;
padding-block: 0.4em;
}
ul.blog-posts li a {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
min-width: 0;
}
ul.blog-posts li::after {
content: "";
flex: 1;
border-block-end: 1px dotted color-mix(in srgb, var(--text-color) 25%, transparent);
}
ul.blog-posts li span {
order: 3;
flex: 0 0 auto;
}
ul.blog-posts li span time {
font-size: 14px;
}
Alternating rows

ul.blog-posts li:nth-child(odd) {
background: color-mix(in srgb, var(--text-color) 4%, transparent);
}
ul.blog-posts li {
padding-inline: 0.6em;
}
No date

ul.blog-posts li span {
display: none;
}
ul.blog-posts li {
padding-block: 0.3em;
font-weight: 600;
}
Want more? Check out the full Bear Blog library.