melpomene/melpomene.css

178 lines
2.9 KiB
CSS

/* Melpomene webcomic reader CSS */
/* Version 1.0.0 - UNSTABLE */
/* CC-BY-NC-SA : https://git.aribaud.net/caribaud/melpomene/ */
:root {
--reader-progressbar-height: 0.3em;
}
.animated {
transition: all 1.5s ease;
}
#reader-frame {
display: flex;
flex-direction: column;
}
#reader-content-frame {
flex: 1;
position: relative;
overflow: hidden;
}
#reader-pages {
flex-direction: row;
transform-origin: top left;
transform: scale(1) translate(0);
align-items: center;
width: fit-content;
height: fit-content;
}
#reader-pages > img {
display: inline-block;
opacity: 0;
transition: all 1s cubic-bezier(.9,.03,.69,.22); /* ease-in quartic */
}
.fill {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.obscured {
background-color: rgba(0, 0, 0, 0.85);
}
.flex {
display: flex;
flex-direction: row;
}
.flex-col {
display: flex;
flex-direction: column;
}
.grow {
flex: 1
}
#nav-controls {
display: grid;
grid-template-areas:
"left top right"
"left center right"
"left bottom right";
}
#nav-controls {
grid-template-columns: 33% 0 1fr;
grid-template-rows: auto;
}
#nav-controls > div {
cursor: pointer;
}
.top {
grid-area: top;
}
.left {
grid-area: left;
}
.right {
grid-area: right;
}
.top {
grid-area: top;
}
.bottom {
grid-area: bottom;
}
.focus {
box-shadow: inset 0px 0px 5px 5px rgba(0, 0, 0, 0.85);
}
#help-menu{
font-size: 120%;
display: flex;
flex-direction: column;
color: white;
background-color: rgba(0,0,0,0.8)
border: 0.1em solid black;
height: 100%;
justify-content: end;
box-sizing: border-box;
align-items: end;
}
#help-menu > #help-controls {
padding: 0 1em 1em 1em;
background-color: rgba(0,0,0,0.5);
z-index: 1;
opacity: 0;
transition: all 1.7s cubic-bezier(.76,.05,.86,.06);
border: white solid;
border-width: 1px 0 0 1px;
border-radius: 0.3em 0 0 0;
transform: translate(0, calc(100% - 2em));
}
#help-menu > #help-controls:hover {
opacity: 1;
transition: all 0.3s linear;
transform: translate(0, 0);
}
#help-menu > #help-controls > div {
margin-top: 1em;
text-align: center;
}
.key {
display: inline;
margin: 0 0.5em;
border: 1px white solid;
padding: 0 0.1em;
border-radius: 0.2em;
}
#reader-progress-container {
background-color: dimgray;
position: relative;
}
#reader-progress-bar{
height: var(--reader-progressbar-height);
background-color: whitesmoke;
width: 0%;
transition: all 0.5s ease-in-out;
}
#reader-progress-pages {
display: flex;
height: 100%;
position: absolute;
width: 100%;
top: 0;
left: 0;
}
#reader-progress-pages > * {
height: 100%;
box-sizing: border-box;
border-right: 0.3em black solid;
flex: 1;
}