]> git.plutz.net Git - serve0/blobdiff - style.css
speed and code optimisations
[serve0] / style.css
index f0a16b5d8f99ae6c2fee56bd1d51d097d23cd6d8..0eba5175dcef460eee0efd58c479ec92f2c04e02 100644 (file)
--- a/style.css
+++ b/style.css
 * {
   box-sizing: border-box;
+  margin: 0; padding: 0;
 }
+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;
-  margin: 0;
-  padding: 0;
+  min-height: 100%;
 }
 
-input.toggle {
-  display: none;
-}
-input.toggle + label + * {
+#prefs, #bookmarks,
+#multitag, #advsearch {
   display: block;
+  position: relative;
   overflow: hidden;
   height: 0;
+  text-align: left;
+  background-color: #333;
+}
+#prefs:target,
+#advsearch:target,
+#multitag:target,
+#bookmarks:target {
+  height: auto;
+  overflow: visible;
 }
-input.toggle:checked + label + * { height: auto; }
 
-#search {
+#navigation{
   text-align: center;
   background-color: #333;
   padding: .25em;
   border-bottom: 1px solid;
-  margin: 0;
 }
 
-label[for=t_prefs] {
+#search { display: inline; }
+
+a[href="#prefs"] {
   position: absolute;
-  font-size: 1.5em;
   top: 0; right: .25em;
+  font-size: 1.5em;
 }
 
-#t_prefs:checked + label + #prefs {
-  background-color: #333;
+a[href="#bookmarks"] {
+  position: absolute;
+  top: 0; left: .25em;
+  font-size: 1.5em;
+}
+
+a[href="#advsearch"] {
+  margin-left: .5em;
+}
+a[href="#advsearch"]:before {
+  content: '\25b8';
+  margin: 0 .5em;
+}
+
+#prefs {
+  position: absolute;
+  right: 0; width: 13em;
+  margin-left: auto;
+  margin-top: -1px;
   border: 1px solid;
   border-top: none;
   border-right: none;
-  padding: .5em 1em;
-  margin: 0;
+  padding: 0 1em;
+  z-index: 1;
+}
+
+#prefs a[href="#"] {
+  display: block;
   position: relative;
-  top: -1px;
-  width: 13em;
-  margin-left: auto;
+  top: -1.125em;
+  margin-right: -.5em;
+  margin-bottom: -1em;
+  text-align: right;
+  font-size: 1.5em;
+  padding-right: .25em;
+  background-color: inherit;
 }
 
 #prefs label[for=prefs_ps] {
   font-weight: bold;
 }
 #prefs #prefs_ps {
-  max-width: 3em;
+  max-width: 4em;
   margin-bottom: 1em;
 }
 #prefs button {
-  margin-top: 1em;
+  margin: 1em 0;
 }
 #prefs input { vertical-align: top; }
 #prefs input[type=radio] + label,
@@ -64,18 +114,117 @@ label[for=t_prefs] {
   max-width: 85%;
 }
 
+#advsearch:target {
+  display: block;
+  position: relative;
+  text-align: center;
+  border-bottom: 1px solid;
+}
+#advsearch a[href="#"] {
+  display: block;
+  line-height: 2em;
+  background-color: inherit;
+  border-bottom: 1px solid;
+  text-align: left;
+  padding-left: .5em;
+  position: relative;
+  top: -2em;
+}
+#advsearch .help {
+  display: block;
+  margin: -1em .625em 1em .625em;
+  padding: .5em 1em;
+  background-color: #444;
+  line-height: 1.5em;
+  text-align: left;
+}
+
+#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 {
+  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 {
+  display: inline-block;
+  position: relative;
+  width: 19%;
+  margin: 0 .5% 1em .5%;
+  min-width: 200px;
+  min-height: 12em;
+  overflow: hidden;
+  text-align: left;
+  vertical-align: top;
+}
+
+#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 .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 {
+  display: block;
+  margin-right: 50%;
+  padding: .25em .5em;
+  font-size: 1.125em;
+  border-bottom: 1px solid;
+}
+#advsearch .select input.cat:checked + label {
+  background-color: #444;
+}
+#advsearch .select input.cat:checked + label + select {
+  display: block;
+  position: absolute;
+  top: 3.5em; bottom: 0;
+  right: 0; left: 50%;
+  width: 50%;
+}
+
 .list {
   position: relative;
   display: inline-block;
   width: 25%;
   min-width: 250px;
-  padding: .5em 1em;
-  margin: 0;
+  padding: .25em;
   overflow: none;
   word-wrap: break-word;
   vertical-align: top;
+  color: black;
+  overflow: hidden;
+}
+.list.dir {
+  padding: .5em 1em;
 }
-.list, .list a { color: black; }
+
 .list:before {
   position: absolute;
   top: .25em; left: .25em;
@@ -85,8 +234,87 @@ label[for=t_prefs] {
 }
 .list.dir:before { background-color: #CCF; }
 .list.file:before { background-color: #FDD; }
+.list.file:first-of-type { clear: left; }
 
-.list.file img {
+.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);
+}
+
+.list.file .time,
+.list.file .dim,
+.list.file .tag,
+.list.file label {
+  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;
+}
+
+.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;
+}
+.list.file input[type="checkbox"]:checked + label {
+  background-color: #4F4;
+}
+
+.pagination {
+  display: block;
+  text-align: center;
+  margin-top: 1em;
+}
+.page {
+  display: inline-block;
+  padding: .25em .5em;
+  color: black;
+  background-color: #FDD;
+  border: 1px solid;
+  margin: 0 .125em;
+}
+
+#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;}
+
+#multitag:target a[href="#"] {
+  position: relative;
+  top: -1em;
+  padding-right: 10em;
+  background-color: inherit;
+}
+#multitag fieldset{
+  display: inline-block;
+  width: 25%; min-width: 250px;
+  vertical-align: top;
+  padding: 0 .25em;
+  border: none;
 }
+#multitag fieldset * { width: 100%; }
+#multitag fieldset button { width: 50%; }