X-Git-Url: http://git.plutz.net/?p=serve0;a=blobdiff_plain;f=style.css;h=2e461e13a1ca0b7c11496339b6e5f74b1a75e248;hp=4849e3491e5a25c94a86c9e9c3f9efbfe86ffc75;hb=HEAD;hpb=002edf53da30cfd378a6ffca3ae2794361670090 diff --git a/style.css b/style.css index 4849e34..79ddfe8 100644 --- a/style.css +++ b/style.css @@ -1,336 +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; } +/* ====== TOP CONTROL BAR ====== */ -/* ### Main Page Elements ### */ - -#navigation{ - position: relative; +#navigation { text-align: center; - border-bottom: 1px solid; + 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; } -#editing, -#multitag { +#bookmarks, #advsearch, #prefs, #multitag { + -display: none; + height: 0; + overflow: hidden; +} + +#editing { position: fixed; bottom: 0; width: 100%; - padding: .25em 0; - border-top: 1px solid; + padding: 0 .5em; background-color: #333; } -#search { display: inline; } - -a[href="#prefs"], -a[href="#bookmarks"] { +:target a[href="#"] { position: absolute; - top: 0; - margin: 0 .25em; + top: 0; right: 0; font-size: 1.5em; -} -a[href="#prefs"] { right: 0; } -a[href="#bookmarks"] { left: 0; } - -a[href="#advsearch"] { margin-left: .5em; } -a[href="#advsearch"]:before { - content: '\25b8'; - margin: 0 .5em; + font-weight: bold; + text-decoration: none; + padding: 0 .25em; + z-index: 1; } +/* ====== MAIN LIST VIEW ====== */ -/* ### Expandable Drawers ### */ - -#prefs, #bookmarks, #multitag, #advsearch { - display: block; position: absolute; - height: 0; width: 100%; max-width: 100%; - margin-top: -1px; - padding: 0 1em; - border: 1px none; +.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; - background-color: #333; - z-index: 1; } -#bookmarks { - left: 0; width: 30%; - min-width: 300px; - margin-right: auto; + +.itemlist .list img { + -width: 1000%; height: 11em; + max-width: unset; + background-color: #111; + object-fit: cover; + transform: translate(-05%, 0); + margin-left: 50%; } -#prefs { - right: 0; width: 20%; - min-width: 200px; - margin-left: auto; +.itemlist .list:hover img { + animation: thumbscroll 8s steps(10, end) infinite; } -#advsearch { - text-align: center; +@keyframes thumbscroll { + from { transform: translate(-05%, 0);} + to { transform: translate(-105%, 0);} } -#advsearch:target, #multitag:target, -#prefs:target, #bookmarks:target { - height: auto; overflow: visible; -} -#advsearch:target { border-style: none none solid none; } -#prefs:target { border-style: none none solid solid; } -#bookmarks:target { border-style: none solid solid none; } - -#advsearch a[href="#"], -#multitag a[href="#"], -#bookmarks a[href="#"], -#prefs a[href="#"] { +.itemlist .list label { display: block; - position: absolute; - top: -2em; line-height: 2em; - padding: 0 .75em; - font-weight: bold; - background-color: inherit; - left: 0; right: 0; + 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; + margin-top: .125em; + margin-left: 0; + padding: 0 .25em; + border-radius: 1pt; +} +.itemlist .list input[type=checkbox]:checked + label { + background-color: #383; } -#prefs a[href="#"] { width: 2.5em; left: auto; } -#bookmarks a[href="#"] { width: 2.5em; right: auto; } -#advsearch a[href="#"] { border-bottom: 1px solid; } -#multitag a[href="#"] { position: normal; border-top: 1px solid;} -/* ### Preferences Drawer ### */ +/* ====== PAGINATION LIST ====== */ -#prefs label[for=prefs_ps] { - font-weight: bold; -} -#prefs #prefs_ps { - max-width: 4em; - margin-bottom: 1em; -} -#prefs button { - margin: 1em 0; +.pagination { + display: block; + font-size: 1.25em; + max-width: 98%; + margin: 0 auto; + padding: .25em 0; + background-color: #333; + border-radius: 2pt; } -#prefs input { vertical-align: top; } -#prefs input[type=radio] + label, -#prefs input[type=checkbox] + label { +.pagination a { display: inline-block; - margin-bottom: .5em; - max-width: 85%; + padding: 0 .5em; + margin: 0 .5em; + border-radius: 2pt; +} +.pagination a.current { + background-color: #BBB; } +/* ====== BOOKMARK PANEL ====== */ -/* ### Bookmarks Drawer ### */ - -#bookmarks input, -#bookmarks button { - margin-bottom: 1.25em; +#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: block; + display: inline; font-weight: bold; + font-size: 1.125em; + margin-left: 0; + margin-top: .75em; word-break: break-word; - overflow: hidden; } -#bookmarks a.link { - display: inline-block; - font-size: .75em; - text-decoration: underline; - margin: 0 1em 1.25em 0; +#bookmarks label:before, +#bookmarks a.conjunct:after { + content: '\0a'; + white-space: pre; +} +#bookmarks label:before { + line-height: 2.5em; + vertical-align: top; } -/* ### Advance Search Drawer ###*/ +/* ====== 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 { text-align: center; } +-#advsearch > * { text-align: left; } #advsearch .help { - display: block; - margin: 1em .5em 1em .5em; - padding: .5em 1em; + width: 95%; + margin: 1em auto; padding: 0 .5em; background-color: #444; - line-height: 1.5em; + white-space: pre-line; } -#advsearch input.and {display: none;} -#advsearch input.and + label {display: none} -#advsearch input.and + label + .select {display: none;} - -#advsearch input.and + label:nth-of-type(2), -#advsearch input.and:checked + label + .select + input + label { +#advsearch input.and + label { display: inline-block; vertical-align: top; - margin: 0 .5% 1em .5%; - width: 4%; min-width: 4em; - padding: .5em 0; - text-align: center; font-weight: bold; - border: 1px solid; } - -#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 { +#advsearch fieldset.select { display: inline-block; - position: relative; - width: 19%; - margin: 0 .5% 1em .5%; - min-width: 200px; - min-height: 12em; - overflow: hidden; - vertical-align: top; + width: 99%; + margin: 0 .5%; margin-bottom: .75em; padding: 0 .375em; + box-shadow: .125em .125em .25em #000; } -#advsearch .submit { min-height: 0; } -#advsearch .submit * { width: 50%; } - -#advsearch .select input.pol { - margin: .5em .25em 0 .5em; -} -#advsearch .select input.pol + label { - font-weight: bold; +#advsearch fieldset.select > label.head { + display: none; + width: 40%; + text-align: right; } -#advsearch .select label.head { - display: block; - font-weight: bold; - padding: .5em 0 0 .5em; - border-bottom: 1px solid; -} - -#advsearch .select select {display: none;} -#advsearch .select input.cat { display: none; } -#advsearch .select input.cat + label { +#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; } +#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; } -/* ### Item Listing ### */ -.list { - position: relative; - display: inline-block; - width: 25%; min-width: 250px; - padding: .375em; - vertical-align: top; - overflow: hidden; -} -.list.dir { padding: .5em 1em; } - -.list:before { - position: absolute; - top: .25em; left: .25em; - bottom: .25em; right: .25em; - content: ''; - z-index: -2; -} -.list.dir:before { background-color: #CCF; color: black; } -.list.file:before { background-color: #333; } -.list.file:first-of-type { clear: left; } +/* ====== MULTITAG DIALOG ====== */ -.list.file a img{ - display: block; - width: 100%; - min-height: 4em; - border-bottom: 1px solid black; -} -.list.file a + label{ - display: inline-block; - width: 100%; max-height: 2.5em; - margin-right: -10em; - padding: .25em .5em; - word-break: break-word; - background-color: #222; +#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 { - float: right; position: relative; - display: inline-block; - top: -1.5em; bottom: 1.5; - margin-right: .125em; - padding: .125em .25em; - background-color: rgba(0,0,0,.75); -} +-#multitag { text-align: center; } +-#multitag > * { text-align: left; } -.list.file .tag, -.list.file input + label { +#multitag fieldset { display: inline-block; - margin: .125em -.125em 0 0; - padding: .125em .5em; - color: black; - background-color: #DCC; + width: 99%; + margin: 0 .5%; margin-top: 1em; } -.list.file input[type="checkbox"] { display: none; } -.list.file input[type="checkbox"] + label { - border: 1px solid; - background-color: #ECC; +#multitag fieldset select { + width: 100%; height: 10em; } -.list.file input[type="checkbox"]:checked + label { - background-color: #8F8; +#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; } -.pagination { margin-bottom: 3em;} -.page { - display: inline-block; - margin: 0 .125em; - padding: .25em .5em; - color: black; - background-color: #FDD; - border: 1px solid; +#multitag fieldset textarea[name=newtag] + label { + display: block; } -#index label:first-of-type { font-weight: bold; } -#index input, #index button { margin-left: 1em;} +/* ====== VIEW PAGE ====== */ -/* ### Multi Tagging Drawer ### */ +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; } }