Spaces:
Running
Running
/* | |
<!----- V container -----> | |
<div class='has-carousel'> | |
<!--- H container ---> | |
<div class='carousel'> | |
<div>---- <div>---- <div>---- <div>---- <div>---- | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
---</div> | | ---</div> | | ---</div> | |
---</div> ---</div> | |
</div> | |
<div> | |
*/ | |
.carousel { | |
position: relative; | |
width: 100%; | |
overflow: hidden; | |
} | |
.carousel__nav { | |
display: flex; | |
position: absolute; | |
right: 2rem; | |
bottom: 2rem; | |
justify-content: flex-end; | |
z-index: 1; | |
width: calc(100% - 4rem); | |
font-size: var(--small); | |
} | |
.carousel__nav > ul { | |
overflow-x: auto; | |
white-space: nowrap; | |
} | |
.carousel__viewport nav a { | |
display: flex; | |
z-index: 2; | |
font-size: var(--small); | |
} | |
.carousel__viewport { | |
display: flex; | |
height: 100%; | |
overflow-x: auto; | |
-webkit-overflow-scrolling: touch; | |
scroll-behavior: smooth; | |
scroll-snap-type: x mandatory; | |
scrollbar-width: none; | |
} | |
ul.carousel__viewport { | |
border: none; | |
padding: 0; | |
} | |
.carousel__viewport > div, | |
.carousel__viewport > section, | |
ul.carousel__viewport > li, | |
.carousel__viewport__slide { | |
display: flex; | |
position: relative; | |
flex-direction: row; | |
flex-shrink: 0; | |
flex-wrap: wrap; | |
align-items: center; | |
width: 100%; | |
} | |
ul.carousel__viewport > li { | |
position: relative; | |
margin: 1ex; | |
border-radius: 1ex; | |
background-size: cover; | |
width: 16rem; | |
height: 12.8rem; | |
} | |
ul.carousel__viewport > li > a { | |
position: absolute; | |
top: -1px; | |
right: 0; | |
bottom: 0; | |
left: -1px; | |
border-radius: 0.82ex; | |
overflow: clip; | |
color: var(--fg); | |
font-size: var(--small); | |
font-weight: bold; | |
} | |
ul.carousel__viewport > li:hover, | |
ul.carousel__viewport > li:focus-within { | |
--tsf: scale(0.96); | |
opacity: 0.86; | |
} | |
ul.carousel__viewport > li > a > span { | |
display: inline-block; | |
position: relative; | |
border-radius: 0 0 1ex 0; | |
background-color: var(--bg); | |
padding: 0.7ex 2ex; | |
max-width: 12.8rem; | |
} | |
ul.carousel__viewport > li > a > span::before, | |
ul.carousel__viewport > li > a > span::after { | |
position: absolute; | |
border-top-left-radius: 1ex; | |
box-shadow: 0 -1ex 0 0 var(--bg); | |
background-color: transparent; | |
width: 1ex; | |
height: 2ex; | |
content: ''; | |
} | |
ul.carousel__viewport > li > a > span::before { | |
bottom: -2ex; | |
left: 0; | |
} | |
ul.carousel__viewport > li > a > span::after { | |
top: 0; | |
right: -1ex; | |
} | |
.carousel__viewport__slide__cover { | |
flex: 1 1 40%; | |
padding: 1.5rem 0 5rem 1.5rem; | |
height: 100%; | |
max-height: 1024px; | |
} | |
.carousel__viewport__slide__content { | |
margin-bottom: auto; | |
padding: 0 2rem; | |
width: 100%; | |
max-height: calc(100% - 5rem); | |
overflow-y: auto; | |
} | |
.carousel__viewport__slide__content h1.section-title { | |
margin: 0 ; | |
padding: var(--smallskip) 0 1ex; | |
font: italic var(--Large) var(--rm), serif; | |
} | |
.carousel__viewport__slide__content h2 { | |
font-size: var(--large); | |
} | |
.carousel__viewport__slide__content h3 { | |
font-size: var(--normalsize); | |
} | |
.carousel__viewport__slide__content p { | |
max-width: var(--canonic); | |
} | |
.carousel__viewport__slide__content .footnotes p { | |
max-width: unset; | |
} | |
.carousel__viewport__slide__cover + .carousel__viewport__slide__content { | |
flex: 1 1 60%; | |
margin-bottom: 5rem; | |
} | |
.carousel__viewport__slide__cover + .carousel__viewport__slide__content p { | |
width: unset; | |
} | |
.carousel__viewport__slide__cover img { | |
border-radius: 1ex; | |
width: 100%; | |
height: 100%; | |
object-fit: cover; | |
} | |
/* 2 item */ | |
#list-tags > nav a, | |
.carousel__viewport__slide > nav a { | |
display: inline-flex; | |
padding: 1ex; | |
gap: 1ex; | |
} | |
.carousel__viewport__slide > nav a { | |
text-transform: uppercase; | |
letter-spacing: 0.1em; | |
color: var(--fg); | |
} | |
.pagination .lfill a::after, | |
#list-tags > nav a::after, | |
.carousel__viewport__slide:first-child > nav a::after { | |
/* -> */ | |
--tsf: rotate(90deg); | |
font-family: base-ui; | |
content: '\e902'; | |
} | |
.carousel__viewport .rfill { | |
display: inline-block ; | |
} | |
#list-taxonomy > .carousel__viewport { | |
flex-direction: column; | |
height: calc(14.8rem + 2ex); | |
overflow-y: auto; | |
scroll-snap-type: y mandatory; | |
} | |
#list-taxonomy #list-series, | |
#list-taxonomy #list-categories { | |
padding: 1rem 0; | |
} | |
#list-series ul.carousel__viewport, | |
#list-categories ul.carousel__viewport, | |
#list-author ul.carousel__viewport { | |
scrollbar-width: thin; | |
} | |
#list-categories a:hover::after { | |
position: absolute; | |
right: 1ex; | |
bottom: 1ex; | |
border-radius: 0.7ex; | |
background: var(--bg); | |
padding: 0.7ex 0; | |
width: calc(3.2rem - 2ex); | |
text-align: center; | |
text-overflow: ellipsis; | |
white-space: nowrap; | |
content: attr(data-post-counter); | |
} | |
@media only screen and (max-width: 960px) { | |
aside.carousel { | |
width: unset; | |
} | |
} | |
@media only screen and (max-width: 640px) { | |
.carousel__nav { | |
right: 0; | |
bottom: 0; | |
background: var(--bg); | |
width: unset; | |
} | |
.carousel__viewport__slide > .carousel__nav { | |
position: sticky; | |
position: -webkit-sticky; | |
} | |
aside .carousel__viewport > div, | |
aside .carousel__viewport > section, | |
aside .carousel__viewport__slide { | |
display: block; | |
height: 100%; | |
overflow-y: auto; | |
} | |
.carousel__viewport__slide__cover { | |
padding: unset; | |
height: unset; | |
} | |
.carousel__viewport__slide__cover img { | |
border-radius: 0; | |
padding: 0 1rem; | |
height: unset; | |
} | |
.carousel__viewport__slide__content { | |
padding: 0 1rem 5rem; | |
max-height: unset; | |
} | |
.carousel__viewport__slide__cover + .carousel__viewport__slide__content { | |
margin-bottom: 1rem; | |
} | |
.carousel__nav > ul.rounded { | |
padding: 1ex 0; | |
width: calc(100vw - 2rem); | |
text-align: right; | |
} | |
} |