github.com/nsqio/nsq@v1.3.0/nsqadmin/static/js/views/counter.hbs (about) 1 <style> 2 body { 3 background-color:#000; 4 } 5 /* 6 * .numbers : The container for .number 7 */ 8 9 #numbers { 10 text-align:center; 11 margin-top:100px; 12 } 13 14 .numbers { 15 font-family: 'Francois One', sans-serif; 16 font-size: 70px; 17 color: white; 18 white-space: nowrap; 19 position: relative; 20 direction: ltr; 21 vertical-align: middle; 22 height: 70px; 23 } 24 25 26 /* 27 * .number : The container for each number 28 */ 29 30 .number { 31 width: 50px; 32 height: 70px; 33 position: relative; 34 display: inline-block; 35 margin: 2px; 36 border-radius: 5px; 37 box-shadow: #999 0 -1px 0px 0px, #444 0 1px 0px 0px; 38 } 39 40 41 /* 42 * Little white stuffs that link the top and the bottom 43 */ 44 45 .number:before { 46 content: ''; 47 display: block; 48 width: 3px; 49 height: 6px; 50 background: white; 51 position: absolute; 52 left: 0; 53 top: 30px; 54 z-index: 2; 55 box-shadow: inset rgb(130, 130, 130) 0 0 0px 1px; 56 border-right: 1px solid black; 57 border-top: 1px solid black; 58 border-bottom: 1px solid black; 59 } 60 61 .number:after { 62 content: ''; 63 display: block; 64 width: 3px; 65 height: 6px; 66 background: rgb(200, 200, 200); 67 position: absolute; 68 right: 0; 69 top: 30px; 70 z-index: 2; 71 box-shadow: inset rgb(130, 130, 130) 0 0 0px 1px; 72 border-left: 1px solid black; 73 border-top: 1px solid black; 74 border-bottom: 1px solid black; 75 } 76 77 /* 78 * The panels 79 */ 80 81 .number .top, .number .bottom { 82 display: block; 83 height: 35px; 84 width: 50px; 85 text-align: center; 86 overflow: hidden; 87 border-radius: 3px; 88 background: -webkit-linear-gradient(90deg, rgb(30, 30, 30), rgb(90, 90, 90)); 89 background: -o-linear-gradient(90deg, rgb(30, 30, 30), rgb(90, 90, 90)); 90 background: linear-gradient(0deg, rgb(30, 30, 30), rgb(90, 90, 90)); 91 background-size: 50px 70px; 92 } 93 94 .number .top { 95 -moz-box-sizing: border-box; 96 -webkit-box-sizing: border-box; 97 -o-box-sizing: border-box; 98 box-sizing: border-box; 99 line-height: 70px; 100 border-top-left-radius: 5px; 101 border-top-right-radius: 5px; 102 background-position: 0px 0px; 103 border-bottom: 1px solid black; 104 } 105 106 .number .bottom { 107 line-height: 0px; 108 border-bottom-left-radius: 5px; 109 border-bottom-right-radius: 5px; 110 background-position: 0px 35px; 111 } 112 113 /* 114 * Panel animations 115 */ 116 117 /* The new top panel */ 118 .number .top:nth-last-of-type(4) { 119 position: absolute; 120 z-index: 0; 121 } 122 123 /* The old top panel */ 124 .number .top:nth-last-of-type(3) { 125 animation-duration: 0.2s; 126 animation-name: top; 127 animation-fill-mode: forwards; 128 animation-timing-function: ease-in; 129 z-index: 1; 130 131 -moz-transform-origin: 0 100%; 132 -webkit-transform-origin: 0 100%; 133 -o-transform-origin: 0 100%; 134 transform-origin: 0 100%; 135 } 136 137 @keyframes top { 138 from { 139 -moz-transform: scaleY(1); 140 -webkit-transform: scaleY(1); 141 -o-transform: scaleY(1); 142 transform: scaleY(1); 143 } 144 145 to { 146 -moz-transform: scaleY(0); 147 -webkit-transform: scaleY(0); 148 -o-transform: scaleY(0); 149 transform: scaleY(0); 150 } 151 } 152 153 /* The new bottom panel */ 154 .number .bottom:nth-last-of-type(2) { 155 position: absolute; 156 z-index: 1; 157 158 animation-duration: 0.2s; 159 animation-name: bottom; 160 animation-delay: 0.2s; 161 animation-fill-mode: forwards; 162 animation-timing-function: ease-out; 163 164 -moz-transform: scaleY(0); 165 -moz-transform-origin: 0 0; 166 } 167 168 @keyframes bottom { 169 from { 170 -moz-transform: scaleY(0); 171 } 172 173 to { 174 -moz-transform: scaleY(1); 175 } 176 } 177 178 /* The old bottom panel */ 179 .number .top:nth-last-of-type(1) { 180 z-index: -1; 181 } 182 183 .processed { 184 font-color:#bbb; 185 margin:50px; 186 font-size:24pt; 187 font-family:Helvetica; 188 } 189 .messagerate { 190 font-color:#bbb; 191 margin:25px; 192 font-size:20pt; 193 font-family:Helvetica; 194 } 195 </style> 196 197 {{> warning}} 198 {{> error}} 199 200 <div id="numbers"> 201 <div class="numbers"> 202 </div> 203 <p class="processed">Messages Processed</p> 204 <p class="messagerate"></p> 205 {{#if graph_active}} 206 <img id="big_graph" height="500" src="{{large_graph "counter" "*" "" "" "message_count"}}"/> 207 {{/if}} 208 </div>