1
7
.container {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: 50px 1fr;
}
1fr
minmax(100px, 1fr)
repeat(3, 10px)
auto
.product-list {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 768px) {
.product-list {
grid-template-columns: repeat(5, 1fr);
}
}
.product-info {
container: inline-size;
.name {
font-size: 1.5rem;
}
}
@container (width > 512px) {
.name {
font-size: 2rem;
}
}
button {
user-select: none;
}
.product {
/* ... */
.banner {
user-select: none;
}
}
.header {
user-select: none;
}
isolateisolate
1
7
8
1
7
8
.button {
translate: 0 var(--translate-y, -5px);
transition: translate 100ms;
padding: 0.25rem 1rem;
border-radius: 0.25rem;
&:hover {
--translate-y: -10px;
}
&.primary {
background-color: oklch(55.3% 0.195 38.402);
&:hover {
background-color: oklch(70.5% 0.213 47.604);
}
}
}
.button {
&--text {
/* In SCSS this produces .button--text */
/* This is not possible in CSS */
}
}
@container