refactor: make a.cover reusable

finxol.io 1700ce37 689f1866

verified
Changed files
+25 -15
src
assets
+5 -15
src/assets/styles/index.css
···
}
.project {
-
position: relative;
display: grid;
grid-template-areas:
"img img"
···
border-radius: var(--radius);
background-color: var(--teal-300);
-
a {
+
& > a {
+
grid-area: title;
+
font-size: 2rem;
+
font-weight: bold;
text-decoration: none;
-
}
-
-
a::before {
-
content: "";
-
position: absolute;
-
inset: 0;
-
z-index: 1;
+
color: inherit;
}
& > :not(picture) {
···
grid-area: img;
width: 100%;
-
}
-
-
& > h3 {
-
grid-area: title;
-
-
font-size: 2rem;
}
& > ul {
+20
src/assets/styles/main.css
···
/* https://color.surf/ */
@import "@evilmartians/harmony/css/amber.css";
@import "@evilmartians/harmony/css/yellow.css";
+
@import "@evilmartians/harmony/css/lime.css";
@import "@evilmartians/harmony/css/emerald.css";
@import "@evilmartians/harmony/css/teal.css";
@import "@evilmartians/harmony/css/sky.css";
···
}
@layer components {
+
a svg {
+
--size: 1.5rem;
+
+
&.external-link {
+
--size: 0.75rem;
+
}
+
}
+
svg[data-icon] {
--size: 1.5rem;
···
}
@layer utilities {
+
:has(> .cover) {
+
position: relative;
+
}
+
+
a.cover::before {
+
content: "";
+
position: absolute;
+
inset: 0;
+
z-index: 1;
+
}
+
.container {
padding: var(--spacing);
width: calc(100% - 2rem * var(--spacing));