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

View File

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