Add grid functionality + upvote style

This commit is contained in:
schriefer 2024-06-09 20:33:38 +02:00
parent 5bfe59a71f
commit 7c40283022
3 changed files with 65 additions and 50 deletions

View File

@ -16,8 +16,8 @@
<section id="recents"> <section id="recents">
<h2>Recently added:</h2> <h2>Recently added:</h2>
<ul class="datasets"> <ul class="datasets">
<li> <li class="dataset">
<div class="product-info"> <div class="dataset-info">
<div class="icon standup"></div> <div class="icon standup"></div>
<div class="details"> <div class="details">
<h3>Standup</h3> <h3>Standup</h3>
@ -25,13 +25,13 @@
</div> </div>
</div> </div>
<aside class="upvote"> <aside class="upvote">
<button></button> <button class="upvote-btn">Upvote</button>
<span class="upvote-count">8</span> <span class="upvote-count">8</span>
<button></button> <button class="downvote-btn">Downvote</button>
</aside> </aside>
</li> </li>
<li class="product"> <li class="dataset">
<div class="product-info"> <div class="dataset-info">
<div class="icon tori"></div> <div class="icon tori"></div>
<div class="details"> <div class="details">
<h3>Tori</h3> <h3>Tori</h3>
@ -39,13 +39,13 @@
</div> </div>
</div> </div>
<aside class="upvote"> <aside class="upvote">
<button></button> <button class="upvote-btn">Upvote</button>
<span class="upvote-count">8</span> <span class="upvote-count">8</span>
<button></button> <button class="downvote-btn">Downvote</button>
</aside> </aside>
</li> </li>
<li class="product"> <li class="dataset">
<div class="product-info"> <div class="dataset-info">
<div class="icon tyms"></div> <div class="icon tyms"></div>
<div class="details"> <div class="details">
<h3>Tyms</h3> <h3>Tyms</h3>
@ -53,13 +53,13 @@
</div> </div>
</div> </div>
<aside class="upvote"> <aside class="upvote">
<button></button> <button class="upvote-btn">Upvote</button>
<span class="upvote-count">8</span> <span class="upvote-count">8</span>
<button></button> <button class="downvote-btn">Downvote</button>
</aside> </aside>
</li> </li>
<li class="product"> <li class="dataset">
<div class="product-info"> <div class="dataset-info">
<div class="icon zapcardz"></div> <div class="icon zapcardz"></div>
<div class="details"> <div class="details">
<h3>ZapCardz</h3> <h3>ZapCardz</h3>
@ -67,13 +67,13 @@
</div> </div>
</div> </div>
<aside class="upvote"> <aside class="upvote">
<button></button> <button class="upvote-btn">Upvote</button>
<span class="upvote-count">8</span> <span class="upvote-count">8</span>
<button></button> <button class="downvote-btn">Downvote</button>
</aside> </aside>
</li> </li>
<li class="product"> <li class="dataset">
<div class="product-info"> <div class="dataset-info">
<div class="icon peek"></div> <div class="icon peek"></div>
<div class="details"> <div class="details">
<h3>Peek</h3> <h3>Peek</h3>
@ -81,18 +81,18 @@
</div> </div>
</div> </div>
<aside class="upvote"> <aside class="upvote">
<button></button> <button class="upvote-btn">Upvote</button>
<span class="upvote-count">8</span> <span class="upvote-count">8</span>
<button></button> <button class="downvote-btn">Downvote</button>
</aside> </aside>
</li> </li>
</ul> </ul>
</section> </section>
<section id="Top"> <section id="top">
<h2>Most Liked:</h2> <h2>Most Liked:</h2>
<ul class="datasets"> <ul class="datasets">
<li class="product"> <li class="dataset">
<div class="product-info"> <div class="dataset-info">
<div class="icon standup"></div> <div class="icon standup"></div>
<div class="details"> <div class="details">
<h3>Standup</h3> <h3>Standup</h3>
@ -100,9 +100,9 @@
</div> </div>
</div> </div>
<aside class="upvote"> <aside class="upvote">
<button></button> <button class="upvote-btn">Upvote</button>
<span class="upvote-count">8</span> <span class="upvote-count">8</span>
<button></button> <button class="downvote-btn">Downvote</button>
</aside> </aside>
</li> </li>
</ul> </ul>

View File

@ -2,6 +2,9 @@
--bg-color: #222; --bg-color: #222;
--fg-color: #555; --fg-color: #555;
--text-color: #dbdbdb; --text-color: #dbdbdb;
--pad-datasets: 1rem;
--pad-main: 2rem;
--min-card-size: 60ch;
font-size: 12pt; font-size: 12pt;
} }
@ -11,9 +14,10 @@ body {
} }
main { main {
max-width: 120ch; max-width: calc(2 * var(--min-card-size) + var(--pad-main) + var(--pad-datasets));
padding-inline: 2rem; padding-inline: var(--pad-main);
margin-inline: auto; margin-inline: auto;
container-type: inline-size;
} }
header { header {
@ -22,49 +26,58 @@ header {
} }
.datasets { .datasets {
padding-inline: 1rem; padding-inline: var(--pad-datasets);
display: grid; display: grid;
grid-template-columns: repeat(auto-fit, 1fr); grid-template-columns: repeat(auto-fit, minmax(var(--min-card-size), 1fr));
grid-auto-columns: 1fr;
gap: 1rem; gap: 1rem;
} }
.datasets > li { @container (width < 80ch) {
min-width: 60ch; .datasets {
grid-template-columns: 1fr;
}
}
.dataset {
padding: 1rem 2rem;
background-color: var(--fg-color, darkgrey); background-color: var(--fg-color, darkgrey);
border-radius: 1rem; border-radius: 1rem;
list-style: none; list-style: none;
padding: 1rem 2rem; display: inline-flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
} }
.datasets > li :is(h3, p) {
width: fit-content;
}
/*
.upvote { .upvote {
margin-left: 1rem;
margin-block: 1rem;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center;
align-items: center; align-items: center;
gap: 5px; gap: .5em;
} }
.upvote button { .upvote-btn, .downvote-btn {
background: none; background: url(triangle.svg) no-repeat;
background-size: contain;
border: none; border: none;
color: #4a90e2; width: 2em;
font-size: 20px; height: 2em;
padding: 0;
overflow: hidden;
color: transparent;
cursor: pointer; cursor: pointer;
} }
.upvote button:hover { .downvote-btn {
color: #ff9900; transform: rotate(180deg);
} }
.upvote-count { :is(.upvote-btn, .downvote-btn):is(:hover, :focus-visible) {
font-size: 16px; filter: brightness(1.5);
color: #e1e1e1;
} }
*/ :is(.upvote-btn, .downvote-btn):active {
filter: brightness(1.75);
}

2
html/triangle.svg Normal file
View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="16" height="16" viewBox="0 0 16 16" version="1.1" id="svg1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs1" /><g id="layer1"><path style="fill:#222" d="M 0,16 8,0 16,16 Z" id="path1" /></g></svg>

After

Width:  |  Height:  |  Size: 306 B