VANA/VANA-php/resources/css/app.css

234 lines
3.4 KiB
CSS
Raw Normal View History

2024-10-18 17:47:20 +02:00
/* CSS reset by https://piccalil.li/blog/a-more-modern-css-reset/ */
*,
*::before,
*::after {
box-sizing: border-box;
}
/* Prevent font size inflation */
html {
-moz-text-size-adjust: none;
-webkit-text-size-adjust: none;
text-size-adjust: none;
}
/* Remove default margin in favour of better control in authored CSS */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
margin-block-end: 0;
}
/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
list-style: none;
}
/* Set core body defaults */
body {
min-height: 100vh;
line-height: 1.5;
margin: 0;
}
/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
line-height: 1.1;
}
fieldset{
display: block;
border: none;
padding: 0;
margin: 0;
}
/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
text-wrap: balance;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
text-decoration-skip-ink: auto;
color: currentColor;
}
/* Make images easier to work with */
img,
picture {
max-width: 100%;
display: block;
}
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
font-family: inherit;
font-size: inherit;
}
/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
min-height: 10em;
}
/* Anything that has been anchored to should have extra scroll margin */
:target {
scroll-margin-block: 5ex;
}
dl{
display: grid;
grid-template-areas: "title desc" ;
}
.visually-hidden {
position: absolute;
left: -10000px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}
/* Tabs */
.tablist{
height: 100%;
display: grid;
grid-template: "tablist" "panel";
grid-template-rows: 2em 1fr;
}
.controls{
background: #ccc;
}
.control {
display: inline-block;
}
.control label {
padding: .5em 1em;
}
input[type="radio"]:checked + label {
background: #000;
color: #fff;
}
a:focus,
input:focus,
input[type="radio"]:focus + label {
outline: 2px dotted;
outline-offset: 2px;
}
input[type="radio"] + label:hover {
cursor: pointer;
text-decoration: underline;
}
.panel {
background: #eee;
padding: 1em;
}
/* Layout */
main {
width: 100%;
height: 100vh;
display: grid;
grid-template-areas: "video tabs" "timeline timeline";
grid-template-columns: 50% 50%;
grid-template-rows: 50% 50%;
gap: 1em;
}
main>div {
background: purple;
}
#video {
grid-area: video;
}
#tabs {
grid-area: tabs;
}
#timeline {
grid-area: timeline;
position: relative;
}
#timeline-bar{
height: 2em;
margin-left: 20em;
background: #aaa;
}
#timeline-bar-ctrl{
display: inline-block;
background: #000;
width: .1875em;
height: 100%;
position: absolute;
}
#timeline-bar-ctrl::before{
content: '';
width: 2em;
height: 2em;
border-radius: 50%;
transform: translate3d(-50%, 0px, 0px);
background: #000;
position: absolute;
}
#tracks{
height: calc(100% - 2em);
overflow-y: scroll;
}
.track {
background: #ccc;
width: 100%;
min-height: 15em;
display: grid;
grid-template: 100% / 20em 1fr;
}
.track + .track {
border-top: 1px solid #fff;
}
.track-ctrl{
background: #ccc;
}
.track-viz{
background: #eee;
}