X-Git-Url: http://git.plutz.net/?p=serve0;a=blobdiff_plain;f=style.css;h=2e461e13a1ca0b7c11496339b6e5f74b1a75e248;hp=1bbc2fff933f8c4b11fe1eee20f6674aa4d97bf6;hb=HEAD;hpb=fac83e5789b5b68484ba8bdf7830c462a722d000 diff --git a/style.css b/style.css index 1bbc2ff..79ddfe8 100644 --- a/style.css +++ b/style.css @@ -1,203 +1,301 @@ -* { - box-sizing: border-box; - margin: 0; padding: 0; +body { + color: #EEE; + background-color: #000; + padding-bottom: 2.5em; } -button { padding: .125em .5em; } -a { color: inherit; text-decoration: none;} -body { - color: white; - background-color: black; - min-height: 100%; +/* ====== TOP CONTROL BAR ====== */ + +#navigation { + text-align: center; + margin-bottom: 1em; padding: 0 2em; + background-color: #333; + box-shadow: .125em .125em .25em #000; +} +#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; } -#prefs, #bookmarks, #multitag { - display: block; - overflow: hidden; +#bookmarks, #advsearch, #prefs, #multitag { + -display: none; height: 0; - text-align: left; -} -#prefs:target, -#multitag:target, -#bookmarks:target { - height: auto; - overflow: visible; + overflow: hidden; } -#navigation{ - text-align: center; +#editing { + position: fixed; + bottom: 0; width: 100%; + padding: 0 .5em; background-color: #333; - padding: .25em; - border-bottom: 1px solid; } -#search { display: inline; } - -a[href="#prefs"] { +:target a[href="#"] { position: absolute; - top: 0; right: .25em; + top: 0; right: 0; font-size: 1.5em; + font-weight: bold; + text-decoration: none; + padding: 0 .25em; + z-index: 1; } -a[href="#bookmarks"] { - position: absolute; - top: 0; left: .25em; - font-size: 1.5em; +/* ====== 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; } -a[href="#advsearch"] { - margin-left: .5em; +.itemlist .list img { + -width: 1000%; height: 11em; + max-width: unset; + background-color: #111; + object-fit: cover; + transform: translate(-05%, 0); + margin-left: 50%; } -a[href="#advsearch"]:before { - content: '\25b8'; - margin: 0 .5em; +.itemlist .list:hover img { + animation: thumbscroll 8s steps(10, end) infinite; +} +@keyframes thumbscroll { + from { transform: translate(-05%, 0);} + to { transform: translate(-105%, 0);} } -#prefs:target { - position: absolute; - right: 0; width: 13em; - margin-left: auto; - margin-top: -1px; +.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; background-color: #333; - border: 1px solid; - border-top: none; - border-right: none; - padding: .5em 1em; - z-index: 1; - overflow: visible; + margin-top: .125em; + margin-left: 0; + padding: 0 .25em; + border-radius: 1pt; +} +.itemlist .list input[type=checkbox]:checked + label { + background-color: #383; } -#prefs:target a[href="#"] { + +/* ====== PAGINATION LIST ====== */ + +.pagination { display: block; - position: relative; - top: -1.5em; right: -.5em; - margin-left: 4em; - text-align: right; - font-size: 1.5em; - padding: 0 .25em; + font-size: 1.25em; + max-width: 98%; + margin: 0 auto; + padding: .25em 0; background-color: #333; + border-radius: 2pt; +} +.pagination a { + display: inline-block; + padding: 0 .5em; + margin: 0 .5em; + border-radius: 2pt; +} +.pagination a.current { + background-color: #BBB; +} + +/* ====== BOOKMARK PANEL ====== */ + +#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; } -#prefs label[for=prefs_ps] { +#bookmarks label { + display: inline; font-weight: bold; + font-size: 1.125em; + margin-left: 0; + margin-top: .75em; + word-break: break-word; } -#prefs #prefs_ps { - max-width: 3em; - margin-bottom: 1em; +#bookmarks label:before, +#bookmarks a.conjunct:after { + content: '\0a'; + white-space: pre; } -#prefs button { - margin-top: 1em; +#bookmarks label:before { + line-height: 2.5em; + vertical-align: top; } -#prefs input { vertical-align: top; } -#prefs input[type=radio] + label, -#prefs input[type=checkbox] + label { - display: inline-block; - margin-bottom: .5em; - max-width: 85%; + + +/* ====== 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; } -.list { - position: relative; +-#advsearch { text-align: center; } +-#advsearch > * { text-align: left; } + +#advsearch .help { + width: 95%; + margin: 1em auto; padding: 0 .5em; + background-color: #444; + white-space: pre-line; +} + +#advsearch input.and + label { display: inline-block; - width: 25%; - min-width: 250px; - padding: .25em; - overflow: none; - word-wrap: break-word; vertical-align: top; - color: black; - overflow: hidden; + font-weight: bold; } -.list.dir { - padding: .5em 1em; +#advsearch fieldset.select { + display: inline-block; + width: 99%; + margin: 0 .5%; margin-bottom: .75em; padding: 0 .375em; + box-shadow: .125em .125em .25em #000; } -.list:before { - position: absolute; - top: .25em; left: .25em; - bottom: .25em; right: .25em; - z-index: -2; - content: ''; +#advsearch fieldset.select > label.head { + display: none; + width: 40%; + text-align: right; } -.list.dir:before { background-color: #CCF; } -.list.file:before { background-color: #FDD; } -.list.file:first-of-type { clear: left; } - -.list.file a img{ +#advsearch fieldset.select > input.cat { display: none; } +#advsearch fieldset.select > input.cat + label + .catselect { display: none; } +#advsearch fieldset.select > input.cat + label { display: block; - width: 100%; - min-height: 4em; + width: 40%; + margin: 0; padding: 0 .5em; + text-align: right; } -.list.file a label{ - position: absolute; - top: 0; padding: .25em .5em; - color: white; - background-color: rgba(0,0,0,.625); +#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 fieldset.select > input.cat + label + .catselect > * { + display: block; + white-space: pre; } -.list.file .time, -.list.file .dim, -.list.file .tag, -.list.file label { - display: inline-block; - margin-top: .125em; +#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; } + + +/* ====== 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 { - color: white; - background-color: #004; - padding: .125em .5em; + +-#multitag { text-align: center; } +-#multitag > * { text-align: left; } + +#multitag fieldset { + display: inline-block; + 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; } - -.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 { - text-align: left; - 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: #333; +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; } }