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>