adjust style
This commit is contained in:
parent
c9612d8a1d
commit
ad8718ba49
48 changed files with 4217 additions and 15 deletions
445
sass/_article-list.scss
Normal file
445
sass/_article-list.scss
Normal file
|
@ -0,0 +1,445 @@
|
|||
#article-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
margin-block-start: 2rem;
|
||||
|
||||
article {
|
||||
--bg-overlay: var(--accent-color-alpha);
|
||||
position: relative;
|
||||
transition: var(--transition);
|
||||
box-shadow: var(--edge-highlight), var(--shadow-glass);
|
||||
border-radius: var(--rounded-corner);
|
||||
border-start-end-radius: 2.125rem;
|
||||
border-end-end-radius: 1.8125rem;
|
||||
background-image: linear-gradient(var(--bg-overlay), var(--bg-overlay)),
|
||||
linear-gradient(var(--glass-bg), var(--glass-bg)), var(--blurnail);
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
background-color: var(--bg-overlay);
|
||||
padding: 1rem;
|
||||
overflow: hidden;
|
||||
|
||||
&:hover {
|
||||
h3::after {
|
||||
transform: none;
|
||||
opacity: 1;
|
||||
|
||||
:root[dir*="rtl"] & {
|
||||
transform: scaleX(-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:active:not(:has(.tag:active)) {
|
||||
transform: var(--active);
|
||||
}
|
||||
|
||||
&:has(> a:focus-visible) {
|
||||
animation: focus-in var(--transition);
|
||||
outline: 0.125rem solid var(--accent-color);
|
||||
outline-offset: 0.125rem;
|
||||
}
|
||||
|
||||
@supports not selector(:focus-visible) {
|
||||
&:has(> a:focus) {
|
||||
animation: focus-in var(--transition);
|
||||
outline: 0.125rem solid var(--accent-color);
|
||||
outline-offset: 0.125rem;
|
||||
}
|
||||
}
|
||||
|
||||
& > a {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
border-radius: var(--rounded-corner);
|
||||
border-start-end-radius: 2.125rem;
|
||||
border-end-end-radius: 1.8125rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin: 0;
|
||||
color: var(--accent-color);
|
||||
font-weight: bold;
|
||||
line-height: 1;
|
||||
font-family: var(--font-system-ui);
|
||||
|
||||
&::after {
|
||||
-webkit-mask-image: var(--icon-right);
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
transform: translateX(-0.25rem);
|
||||
opacity: 0;
|
||||
mask-image: var(--icon-right);
|
||||
transition: var(--transition);
|
||||
margin-inline-start: 0.25rem;
|
||||
background-color: currentColor;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
pointer-events: none;
|
||||
content: "";
|
||||
|
||||
:root[dir*="rtl"] & {
|
||||
transform: scaleX(-1) translateX(-0.25rem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tags {
|
||||
position: relative;
|
||||
justify-content: flex-end;
|
||||
z-index: 1;
|
||||
margin: 0;
|
||||
|
||||
a {
|
||||
background-color: var(--accent-color-alpha);
|
||||
color: var(--accent-color);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--accent-color);
|
||||
color: var(--contrast-color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.draft,
|
||||
&.archive,
|
||||
&.featured,
|
||||
&.hot,
|
||||
&.poor {
|
||||
&::before {
|
||||
position: absolute;
|
||||
transform: translateY(-50%);
|
||||
opacity: var(--disabled-opacity);
|
||||
mask-size: cover;
|
||||
transition: var(--transition-longer);
|
||||
inset-block-start: 50%;
|
||||
inset-inline-end: -3rem;
|
||||
width: 12rem;
|
||||
height: 12rem;
|
||||
content: "";
|
||||
}
|
||||
|
||||
&:hover::before {
|
||||
transform: translateY(-50%) rotate(-10deg) scale(1.5);
|
||||
}
|
||||
|
||||
:root[dir*="rtl"] &:hover::before {
|
||||
transform: translateY(-50%) rotate(10deg) scale(1.5);
|
||||
}
|
||||
}
|
||||
|
||||
&.draft {
|
||||
--bg-overlay: var(--fg-muted-1);
|
||||
|
||||
&::before {
|
||||
-webkit-mask-image: var(--icon-pencil);
|
||||
mask-image: var(--icon-pencil);
|
||||
background-color: var(--fg-muted-1);
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: var(--fg-muted-4);
|
||||
}
|
||||
|
||||
.badge {
|
||||
background-color: var(--fg-muted-1);
|
||||
color: var(--fg-muted-5);
|
||||
|
||||
.icon {
|
||||
-webkit-mask-image: var(--icon-pencil);
|
||||
mask-image: var(--icon-pencil);
|
||||
}
|
||||
}
|
||||
|
||||
.tags a {
|
||||
background-color: var(--fg-muted-1);
|
||||
color: var(--fg-muted-5);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--fg-muted-5);
|
||||
color: var(--fg-contrast);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.archive {
|
||||
--bg-overlay: var(--purple-bg);
|
||||
|
||||
&::before {
|
||||
-webkit-mask-image: var(--icon-archive);
|
||||
mask-image: var(--icon-archive);
|
||||
background-color: var(--purple-bg);
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: var(--purple-fg);
|
||||
}
|
||||
|
||||
.badge {
|
||||
background-color: var(--purple-bg);
|
||||
color: var(--purple-fg);
|
||||
|
||||
.icon {
|
||||
-webkit-mask-image: var(--icon-archive);
|
||||
mask-image: var(--icon-archive);
|
||||
}
|
||||
}
|
||||
|
||||
.tags a {
|
||||
background-color: var(--purple-bg);
|
||||
color: var(--purple-fg);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--purple-fg);
|
||||
color: var(--fg-contrast);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.featured {
|
||||
--bg-overlay: var(--yellow-bg);
|
||||
|
||||
&::before {
|
||||
-webkit-mask-image: var(--icon-star);
|
||||
mask-image: var(--icon-star);
|
||||
background-color: var(--yellow-bg);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
&::before {
|
||||
transform: translateY(-50%) rotate(62deg) scale(1.5);
|
||||
}
|
||||
|
||||
:root[dir*="rtl"] &::before {
|
||||
transform: translateY(-50%) rotate(-62deg) scale(1.5);
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: var(--yellow-fg);
|
||||
}
|
||||
|
||||
.badge {
|
||||
background-color: var(--yellow-bg);
|
||||
color: var(--yellow-fg);
|
||||
|
||||
.icon {
|
||||
-webkit-mask-image: var(--icon-star);
|
||||
mask-image: var(--icon-star);
|
||||
}
|
||||
}
|
||||
|
||||
.tags a {
|
||||
background-color: var(--yellow-bg);
|
||||
color: var(--yellow-fg);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--yellow-fg);
|
||||
color: var(--fg-contrast);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.hot {
|
||||
--bg-overlay: var(--red-bg);
|
||||
|
||||
&::before {
|
||||
-webkit-mask-image: var(--icon-fire);
|
||||
mask-image: var(--icon-fire);
|
||||
background-color: var(--red-bg);
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: var(--red-fg);
|
||||
}
|
||||
|
||||
.badge {
|
||||
background-color: var(--red-bg);
|
||||
color: var(--red-fg);
|
||||
|
||||
.icon {
|
||||
-webkit-mask-image: var(--icon-fire);
|
||||
mask-image: var(--icon-fire);
|
||||
}
|
||||
}
|
||||
|
||||
.tags a {
|
||||
background-color: var(--red-bg);
|
||||
color: var(--red-fg);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--red-fg);
|
||||
color: var(--fg-contrast);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.poor {
|
||||
--bg-overlay: var(--brown-bg);
|
||||
|
||||
&::before {
|
||||
-webkit-mask-image: var(--icon-poop);
|
||||
mask-image: var(--icon-poop);
|
||||
background-color: var(--brown-bg);
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: var(--brown-fg);
|
||||
}
|
||||
|
||||
.badge {
|
||||
background-color: var(--brown-bg);
|
||||
color: var(--brown-fg);
|
||||
|
||||
.icon {
|
||||
-webkit-mask-image: var(--icon-poop);
|
||||
mask-image: var(--icon-poop);
|
||||
}
|
||||
}
|
||||
|
||||
.tags a {
|
||||
background-color: var(--brown-bg);
|
||||
color: var(--brown-fg);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--brown-fg);
|
||||
color: var(--fg-contrast);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.badge {
|
||||
float: inline-end;
|
||||
box-shadow: var(--edge-highlight);
|
||||
border-radius: 999px;
|
||||
padding: 0.375rem 0.75rem;
|
||||
height: fit-content;
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
|
||||
.icon {
|
||||
vertical-align: -0.125em;
|
||||
margin-inline-end: 0.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.details {
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
gap: 0.25rem;
|
||||
margin-block-start: 1rem;
|
||||
border-block-start: max(1px, 0.0625rem) solid var(--fg-muted-2);
|
||||
padding-block-start: 0.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#paginator {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 0.25rem;
|
||||
margin-block-start: 4rem;
|
||||
|
||||
#paginator-first,
|
||||
#paginator-previous,
|
||||
#paginator-next,
|
||||
#paginator-last {
|
||||
display: inline-block;
|
||||
transition: var(--transition);
|
||||
box-shadow: var(--edge-highlight);
|
||||
border-radius: 1rem;
|
||||
background-color: var(--fg-muted-1);
|
||||
padding: 0.5rem;
|
||||
color: var(--fg-muted-4);
|
||||
line-height: 0;
|
||||
|
||||
.icon {
|
||||
transition: var(--transition);
|
||||
|
||||
:root[dir*="rtl"] & {
|
||||
transform: scaleX(-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a#paginator-first,
|
||||
a#paginator-previous,
|
||||
a#paginator-next,
|
||||
a#paginator-last {
|
||||
&:hover {
|
||||
background-color: var(--fg-muted-2);
|
||||
color: var(--fg-muted-5);
|
||||
}
|
||||
|
||||
&:active {
|
||||
transform: var(--active);
|
||||
border-radius: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
span#paginator-first,
|
||||
span#paginator-previous,
|
||||
span#paginator-next,
|
||||
span#paginator-last {
|
||||
opacity: var(--disabled-opacity);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
#paginator-previous {
|
||||
border-start-end-radius: var(--rounded-corner-small);
|
||||
border-end-end-radius: var(--rounded-corner-small);
|
||||
}
|
||||
|
||||
#paginator-next {
|
||||
border-start-start-radius: var(--rounded-corner-small);
|
||||
border-end-start-radius: var(--rounded-corner-small);
|
||||
}
|
||||
|
||||
#paginator-first .icon {
|
||||
-webkit-mask-image: var(--icon-first);
|
||||
mask-image: var(--icon-first);
|
||||
}
|
||||
|
||||
#paginator-previous .icon {
|
||||
-webkit-mask-image: var(--icon-previous);
|
||||
mask-image: var(--icon-previous);
|
||||
}
|
||||
|
||||
#paginator-next .icon {
|
||||
-webkit-mask-image: var(--icon-next);
|
||||
mask-image: var(--icon-next);
|
||||
}
|
||||
|
||||
#paginator-last .icon {
|
||||
-webkit-mask-image: var(--icon-last);
|
||||
mask-image: var(--icon-last);
|
||||
}
|
||||
|
||||
#paginator-counter {
|
||||
display: inline-block;
|
||||
transition: var(--transition);
|
||||
box-shadow: var(--edge-highlight);
|
||||
border-radius: var(--rounded-corner-small);
|
||||
background-color: var(--accent-color-alpha);
|
||||
padding: 0.5rem 0.625rem;
|
||||
color: var(--accent-color);
|
||||
font-weight: bold;
|
||||
line-height: 1;
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
|
||||
&:has(a#paginator-previous:active) #paginator-counter {
|
||||
border-start-start-radius: 1rem;
|
||||
border-end-start-radius: 1rem;
|
||||
}
|
||||
|
||||
&:has(a#paginator-next:active) #paginator-counter {
|
||||
border-start-end-radius: 1rem;
|
||||
border-end-end-radius: 1rem;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue