X-Git-Url: http://git.plutz.net/?p=serve0;a=blobdiff_plain;f=style.css;h=2e461e13a1ca0b7c11496339b6e5f74b1a75e248;hp=14e37a0e67f0da30345143420f8937077f0fd5a9;hb=HEAD;hpb=ed3fecb0e3063d2812a082ea46afc33bb4b58820 diff --git a/style.css b/style.css index 14e37a0..79ddfe8 100644 --- a/style.css +++ b/style.css @@ -1,317 +1,301 @@ -* { - box-sizing: border-box; - margin: 0; padding: 0; - text-align: left; -} -button { padding: .125em .5em; } -a { color: inherit; text-decoration: none;} - -input { - border: 1px solid; - padding: .25em .5em; - line-height: 1em; - vertical-align: bottom; -} -input[type=number] { padding-right: 0; } -input[type=radio], input[type=checkbox] { vertical-align: baseline; } -select { - border: 1px solid; - padding: .125em .5em; -} -select[multiple] { padding: 0; } -select[multiple] option { padding: .25em .5em; } - body { - color: white; - background-color: black; - min-height: 100%; + color: #EEE; + background-color: #000; + padding-bottom: 2.5em; } -#prefs, #bookmarks, -#multitag, #advsearch { - display: block; - position: relative; - overflow: hidden; - height: 0; - background-color: #333; -} -#prefs:target, -#advsearch:target, -#multitag:target, -#bookmarks:target { - height: auto; - overflow: visible; -} +/* ====== TOP CONTROL BAR ====== */ -#navigation{ +#navigation { text-align: center; + margin-bottom: 1em; padding: 0 2em; background-color: #333; - padding: .25em; - border-bottom: 1px solid; + box-shadow: .125em .125em .25em #000; } - -#search { display: inline; } - -a[href="#prefs"] { - position: absolute; - top: 0; right: .25em; +#navigation > a { + position: absolute; bottom: .25em; + padding: 0 .125em; font-size: 1.5em; + text-decoration: none; } +#navigation > a[href="#bookmarks"] { left: 0; } +#navigation > a[href="#prefs"] { right: 0; } -a[href="#bookmarks"] { - position: absolute; - top: 0; left: .25em; - font-size: 1.5em; +#bookmarks, #advsearch, #prefs, #multitag { + -display: none; + height: 0; + overflow: hidden; } -a[href="#advsearch"] { - margin-left: .5em; -} -a[href="#advsearch"]:before { - content: '\25b8'; - margin: 0 .5em; +#editing { + position: fixed; + bottom: 0; width: 100%; + padding: 0 .5em; + background-color: #333; } -#prefs { +:target a[href="#"] { position: absolute; - right: 0; width: 13em; - margin-left: auto; - margin-top: -1px; - border: 1px solid; - border-top: none; - border-right: none; - padding: 0 1em; + top: 0; right: 0; + font-size: 1.5em; + font-weight: bold; + text-decoration: none; + padding: 0 .25em; z-index: 1; } -#prefs a[href="#"] { - display: block; - position: relative; - top: -1.125em; - margin-right: -.5em; - margin-bottom: -1em; - text-align: right; - font-size: 1.5em; - padding-right: .25em; - background-color: inherit; +/* ====== MAIN LIST VIEW ====== */ + +.itemlist { text-align: center; } +.itemlist > * { text-align: left; } +.itemlist .list { + display: inline-block; + vertical-align: top; + width: 99%; + -padding: 0 .25em; + margin: 0 .5%; + margin-bottom: 1em; + overflow: hidden; } -#prefs label[for=prefs_ps] { - font-weight: bold; +.itemlist .list img { + -width: 1000%; height: 11em; + max-width: unset; + background-color: #111; + object-fit: cover; + transform: translate(-05%, 0); + margin-left: 50%; } -#prefs #prefs_ps { - max-width: 4em; - margin-bottom: 1em; +.itemlist .list:hover img { + animation: thumbscroll 8s steps(10, end) infinite; } -#prefs button { - margin: 1em 0; +@keyframes thumbscroll { + from { transform: translate(-05%, 0);} + to { transform: translate(-105%, 0);} } -#prefs input { vertical-align: top; } -#prefs input[type=radio] + label, -#prefs input[type=checkbox] + label { + +.itemlist .list label { + display: block; + font-weight: bolder; + word-break: break-word; +} +.itemlist .list .time, +.itemlist .list .dim { + position: absolute; top: 9.75em; + background-color: rgba(0,0,0,.5); + padding: .125em .25em; +} +.itemlist .list .time { right: 0; } +.itemlist .list .dim { left: 0; } +.itemlist .list input[type=checkbox] { display: none; } +.itemlist .list .tag, +.itemlist .list input[type=checkbox] + label { display: inline-block; - margin-bottom: .5em; - max-width: 85%; + background-color: #333; + margin-top: .125em; + margin-left: 0; + padding: 0 .25em; + border-radius: 1pt; +} +.itemlist .list input[type=checkbox]:checked + label { + background-color: #383; } -#advsearch:target { + +/* ====== PAGINATION LIST ====== */ + +.pagination { display: block; - position: relative; - text-align: center; - border-bottom: 1px solid; + font-size: 1.25em; + max-width: 98%; + margin: 0 auto; + padding: .25em 0; + background-color: #333; + border-radius: 2pt; } -#advsearch a[href="#"] { - display: block; - line-height: 2em; - background-color: inherit; - border-bottom: 1px solid; - padding-left: .5em; - position: relative; - top: -2em; +.pagination a { + display: inline-block; + padding: 0 .5em; + margin: 0 .5em; + border-radius: 2pt; } -#advsearch .help { - display: block; - margin: -1em .625em 1em .625em; - padding: .5em 1em; - background-color: #444; - line-height: 1.5em; +.pagination a.current { + background-color: #BBB; } -#advsearch input.and {display: none;} -#advsearch input.and + label {display: none} -#advsearch input.and + label + .select {display: none;} +/* ====== BOOKMARK PANEL ====== */ -#advsearch input.and + label:nth-of-type(2), -#advsearch input.and:checked + label + .select + input + label { - display: inline-block; - vertical-align: top; - margin: 0 .5% 1em .5%; - width: 4%; min-width: 4em; - padding: .5em 0; - text-align: center; +#bookmarks:target, +#prefs:target { + display: block; position: fixed; + top: 50%; left: 50%; + transform: translate( -50%, -50% ); + width: 40em; max-width: 90%; + height: 30em; max-height: 90vh; + background-color: #333; + padding: 0 .5em; + z-index: 1; + box-shadow: .25em .25em .5em #000; + overflow-y: auto; +} + +#bookmarks label { + display: inline; font-weight: bold; - border: 1px solid; + font-size: 1.125em; + margin-left: 0; + margin-top: .75em; + word-break: break-word; +} +#bookmarks label:before, +#bookmarks a.conjunct:after { + content: '\0a'; + white-space: pre; +} +#bookmarks label:before { + line-height: 2.5em; + vertical-align: top; } -#advsearch input.and:checked + label + .select + input:checked + label, -#advsearch input.and:checked + label:nth-of-type(2), -#advsearch input.and:checked + label { display: none; } -#advsearch .submit, -#advsearch input.and + label + .select:first-of-type, -#advsearch input.and:checked + label + .select { - display: inline-block; - position: relative; - width: 19%; - margin: 0 .5% 1em .5%; - min-width: 200px; - min-height: 12em; - overflow: hidden; - vertical-align: top; +/* ====== ADVSEARCH / FILTER PANEL ====== */ + +#advsearch:target { + display: block; position: fixed; + top: 0; width: 100%; + height: 30em; max-height: 90vh; + background-color: #333; + padding: 0 .5em; + z-index: 1; + box-shadow: .25em .25em .5em #000; + overflow-y: auto; } -#advsearch .submit { min-height: 0; } -#advsearch .submit * { width: 50%; } +-#advsearch { text-align: center; } +-#advsearch > * { text-align: left; } -#advsearch .select input.pol { - margin: .5em .25em 0 .5em; +#advsearch .help { + width: 95%; + margin: 1em auto; padding: 0 .5em; + background-color: #444; + white-space: pre-line; } -#advsearch .select input.pol + label { + +#advsearch input.and + label { + display: inline-block; + vertical-align: top; font-weight: bold; } -#advsearch .select label.head { - display: block; - font-weight: bold; - padding: .5em 0 0 .5em; - border-bottom: 1px solid; +#advsearch fieldset.select { + display: inline-block; + width: 99%; + margin: 0 .5%; margin-bottom: .75em; padding: 0 .375em; + box-shadow: .125em .125em .25em #000; } -#advsearch .select select {display: none;} -#advsearch .select input.cat { display: none; } -#advsearch .select input.cat + label { +#advsearch fieldset.select > label.head { + display: none; + width: 40%; + text-align: right; +} +#advsearch fieldset.select > input.cat { display: none; } +#advsearch fieldset.select > input.cat + label + .catselect { display: none; } +#advsearch fieldset.select > input.cat + label { display: block; - margin-right: 50%; - padding: .25em .5em; - font-size: 1.125em; - border-bottom: 1px solid; + width: 40%; + margin: 0; padding: 0 .5em; + text-align: right; } -#advsearch .select input.cat:checked + label { +#advsearch fieldset.select > input.cat:checked + label { background-color: #444; } +#advsearch fieldset.select > input.cat:checked + label + .catselect { + display: block; position: absolute; + top: 1.5em; bottom: 0; right: 0; + width: 60%; + padding: 0 .25em; background-color: #444; + overflow-y: auto; } -#advsearch .select input.cat:checked + label + select { +#advsearch fieldset.select > input.cat + label + .catselect > * { display: block; - position: absolute; - top: 3.5em; bottom: 0; - right: 0; left: 50%; - width: 50%; + white-space: pre; } -.list { - position: relative; - display: inline-block; - width: 25%; - min-width: 250px; - padding: .25em; - overflow: none; - word-wrap: break-word; - vertical-align: top; - color: black; - overflow: hidden; -} -.list.dir { - padding: .5em 1em; -} +#advsearch input.and { display: none; } +#advsearch input.and + label { display: none; } +#advsearch input.and + label + fieldset { display: none; } +#advsearch input.and:checked + label + fieldset, +#advsearch input.and:first-of-type + label + fieldset { display: inline-block; } +#advsearch input.and:checked + label + fieldset + input + label, +#advsearch input.and:first-of-type + label + fieldset + input + label { display: inline-block; } +#advsearch input.and:checked + label + fieldset + input:checked + label { display: none; } +#advsearch input.and:first-of-type + label + fieldset + input:checked + label { display: none; } -.list:before { - position: absolute; - top: .25em; left: .25em; - bottom: .25em; right: .25em; - z-index: -2; - content: ''; -} -.list.dir:before { background-color: #CCF; } -.list.file:before { background-color: #FDD; } -.list.file:first-of-type { clear: left; } -.list.file a img{ - display: block; - width: 100%; - min-height: 4em; -} -.list.file a label{ - position: absolute; - top: 0; padding: .25em .5em; - color: white; - background-color: rgba(0,0,0,.625); +/* ====== MULTITAG DIALOG ====== */ + +#multitag:target { + display: block; position: fixed; + bottom: 0; left: 0; width: 100%; + height: 30em; max-height: 90vh; + background-color: #333; + padding: 0 .5em; + z-index: 1; + box-shadow: .25em .25em .5em #000; + overflow-y: auto; } -.list.file .time, -.list.file .dim, -.list.file .tag, -.list.file label { +-#multitag { text-align: center; } +-#multitag > * { text-align: left; } + +#multitag fieldset { display: inline-block; - margin-top: .125em; -} -.list.file .time, -.list.file .dim { - color: white; - background-color: #004; - padding: .125em .5em; -} -.list.file .tag { - color: white; - background-color: #400; - padding: .125em .5em; + width: 99%; + margin: 0 .5%; margin-top: 1em; } -.list.file input[type="checkbox"] { display: none; } -.list.file input[type="checkbox"] + label { - border: 1px solid; - border-radius: .125em; - padding: 0 .25em; - background-color: #FBB; +#multitag fieldset select { + width: 100%; height: 10em; } -.list.file input[type="checkbox"]:checked + label { - background-color: #4F4; +#multitag fieldset .tagselect { + height: 10em; + background-color: #444; + overflow-y: auto; } - -.itemlist, -.pagination { +#multitag fieldset .tagselect > label { display: block; - text-align: center; - margin-top: 1em; + white-space: pre; } -.page { - display: inline-block; - padding: .25em .5em; - color: black; - background-color: #FDD; - border: 1px solid; - margin: 0 .125em; +#multitag fieldset textarea[name=newtag] + label { + display: block; } -#editing { - width: 100%; - background-color: #333; - border-top: 1px solid; - padding: .25em; -} -#index label:first-of-type { font-weight: bold; } -#index input, #index button { margin-left: 1em;} +/* ====== VIEW PAGE ====== */ -#multitag:target a[href="#"] { - position: relative; - top: -1em; - padding-right: 10em; - background-color: inherit; +body#view video { + display: block; + max-height: 80vh; + margin: 0 auto; } -#multitag fieldset{ + +body#view .tag { display: inline-block; - width: 25%; min-width: 250px; - vertical-align: top; + background-color: #333; + margin-top: .125em; + margin-left: 0; padding: 0 .25em; - border: none; + border-radius: 1pt; +} + +body#view .itemlist { + margin-top: 2em; } -#multitag fieldset * { width: 100%; } -#multitag fieldset button { width: 50%; } + + +/* ====== SCALE BLOCK ELEMENTS ====== */ + +@media(min-width: 20em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 49%; } } +@media(min-width: 40em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 32%; } } +@media(min-width: 60em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 24%; } } +@media(min-width: 80em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 19%; } } +@media(min-width: 100em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 19em; } }