mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-23 13:18:13 -05:00
d9097540c3
* server-status主题优化 1.前台增加半透明样式切换按钮,同时适配了深色和浅色模式 2.右小角功能区增加收纳,点击展开,滚动页面关闭 3.vps世界分布地图全屏展示 4.修改默认页底版权信息位置,从跟随container box修改为默认置于页面底部,container box到底底部后再跟随 5.修改container box默认宽度和最大宽度,适配高分辨率显示器 6.优化样式文件结构,删除无用的样式文件 7.一些小优化 * 修改默认背景图 * 修改背景图片 * 1.echart图表适配半透明样式切换 2.echart图表移动端设置更细折线 3.修改半透明样式下的默认背景图 * echart Y轴移动端更细刻度线 * fixbug * 修改半透明样式默认背景图片为本地调用
491 lines
8.7 KiB
CSS
Executable File
Vendored
491 lines
8.7 KiB
CSS
Executable File
Vendored
body {
|
|
padding-top:70px !important;
|
|
padding-bottom: 30px !important;
|
|
}
|
|
|
|
.container-fluid{
|
|
max-width: 1680px;
|
|
width: 95vw;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.nezha {
|
|
min-height: calc(100vh - 100px);
|
|
}
|
|
|
|
/* 导航部分 开始*/
|
|
.navbar {
|
|
min-height: 40px !important;
|
|
margin:0 auto;
|
|
font-size: 14px;
|
|
z-index:99999999;
|
|
}
|
|
|
|
.navbar-inverse{
|
|
background-image: none;
|
|
background-color: #1C2127;
|
|
box-shadow: 0 1px 40px -8px #00000080;
|
|
}
|
|
|
|
.navbar-inverse .navbar-toggle:focus,
|
|
.navbar-inverse .navbar-toggle:hover {
|
|
background-color: #1C2127;
|
|
}
|
|
|
|
.navbar .navbar-collapse:not([aria-expanded]) .navbar-nav .dropdown-toggle {
|
|
margin-top: 18px;
|
|
padding: 0 !important;
|
|
}
|
|
|
|
.navbar .navbar-toggle {
|
|
margin-right:0
|
|
}
|
|
|
|
.navbar .navbar-brand {
|
|
font-size: 20px;
|
|
text-align: center;
|
|
padding:12px 0 0 0;
|
|
margin-right:30px;
|
|
}
|
|
|
|
.navbar .node-cell-expand {
|
|
word-break: break-all;
|
|
}
|
|
|
|
.navbar .dropdown a{
|
|
cursor: pointer;
|
|
}
|
|
|
|
.navbar .dropdown .dropdown-toggle {
|
|
padding-bottom: 10px;
|
|
padding-top: 10px;
|
|
}
|
|
|
|
.navbar .navbar-nav {
|
|
margin:0px -15px;
|
|
}
|
|
|
|
.navbar .navbar-nav > li > a {
|
|
color:#f1f1f1;
|
|
}
|
|
|
|
.navbar-nav li a span{
|
|
margin-right: 4px;
|
|
}
|
|
|
|
.navbar .navbar-collapse{
|
|
max-height: 500px;
|
|
}
|
|
/* 导航部分 结束 */
|
|
|
|
|
|
/* toolbox 开始 */
|
|
.toolbox {
|
|
position: fixed;
|
|
bottom:20px;
|
|
right: 12px;
|
|
z-index: 999999;
|
|
}
|
|
|
|
.toolbox span{
|
|
display: block;
|
|
width: 2.75rem;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.toolbox i{
|
|
display: block;
|
|
color: rgba(241,241,241,1);
|
|
cursor: pointer;
|
|
border-radius: 5px;
|
|
font-size: 1.5rem;
|
|
height: 2.75rem;
|
|
width: 2.75rem;
|
|
line-height: 2.75rem;
|
|
text-align: center;
|
|
}
|
|
|
|
.toolbox .toggleView i.show-nogroup {
|
|
font-size: 1.85rem;
|
|
}
|
|
|
|
.toolbox .setTheme i.setTheme-dark {
|
|
font-size: 1.35rem;
|
|
}
|
|
|
|
.toolbox .setTheme i.setTheme-light {
|
|
font-size: 1.45rem;
|
|
}
|
|
|
|
.toolbox .showGoTop i.goTop {
|
|
font-size: 1.55rem;
|
|
}
|
|
/* toolbox 结束 */
|
|
|
|
|
|
/* 正文部分 开始 */
|
|
.content {
|
|
padding: 20px;
|
|
border-radius: 5px;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.table {
|
|
margin-bottom: 0;
|
|
border-collapse: collapse;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.table-responsive{
|
|
border: none;
|
|
}
|
|
|
|
.table th, .table td {
|
|
text-align: left;
|
|
}
|
|
|
|
.table > tbody > tr > td,
|
|
.table > tbody > tr > th,
|
|
.table > tfoot > tr > td,
|
|
.table > tfoot > tr > th,
|
|
.table > thead > tr > td,
|
|
.table > thead > tr > th {
|
|
position: relative;
|
|
border:none;
|
|
line-height:20px;
|
|
}
|
|
|
|
.table > tbody > tr > td:before,
|
|
.table > tbody > tr > th:before,
|
|
.table > tfoot > tr > td:before,
|
|
.table > tfoot > tr > th:before,
|
|
.table > thead > tr > td:before,
|
|
.table > thead > tr > th:before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 0.7px;
|
|
}
|
|
|
|
table.monitor-detail{
|
|
margin:5px 0px 10px 0px;
|
|
}
|
|
|
|
tr.accordion-toggle{
|
|
cursor:pointer;
|
|
}
|
|
|
|
.table .network-thead-tr th,
|
|
.table .node-group-tag th{
|
|
font-size: 18px;
|
|
padding-bottom:15px;
|
|
}
|
|
|
|
.table .node-cell-os-text {
|
|
text-transform: capitalize;
|
|
}
|
|
|
|
.progress {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.progress-bar {
|
|
text-align: center !important;
|
|
padding-left: 5px;
|
|
}
|
|
|
|
.expandRow > td {
|
|
padding: 0 !important;
|
|
border-top: 0 !important;
|
|
}
|
|
|
|
.accordian-body{
|
|
margin: 10px 0px 10px 18px;
|
|
}
|
|
|
|
.node-cell.center {
|
|
text-align: center !important;
|
|
}
|
|
|
|
.node-cell.status .status-container {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 20px
|
|
}
|
|
|
|
.node-cell.status .status-icon {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: 50%;
|
|
text-align: center;
|
|
}
|
|
|
|
.node-cell.os .icon.windows {
|
|
margin-right: 0 !important;
|
|
width: 14px;
|
|
}
|
|
|
|
.node-cell.location .flag {
|
|
margin-right: 0 !important;
|
|
}
|
|
|
|
.node-cell.network {
|
|
min-width: 100px;
|
|
max-width: 100px;
|
|
}
|
|
|
|
.node-cell.traffic {
|
|
min-width: 100px;
|
|
}
|
|
|
|
.node-cell.cpu, .node-cell.ram, .node-cell.hdd, .node-cell.memory {
|
|
min-width: 50px;
|
|
max-width: 50px;
|
|
}
|
|
|
|
.temp-detail {
|
|
cursor: pointer;
|
|
}
|
|
|
|
/*agent详情下拉速度*/
|
|
.collapsing{
|
|
-webkit-transition-property:height,visibility;
|
|
-o-transition-property:height,visibility;
|
|
transition-property:height,visibility;
|
|
-webkit-transition-duration:.15s;
|
|
-o-transition-duration:.15s;
|
|
transition-duration:.15s;
|
|
-webkit-transition-timing-function: linear;
|
|
-o-transition-timing-function: linear;
|
|
transition-timing-function: linear
|
|
}
|
|
/*正文结束*/
|
|
|
|
/* 服务页 正文*/
|
|
.service-status {}
|
|
|
|
.service-status .service-status-th{
|
|
min-width:60px;
|
|
}
|
|
|
|
.service-status .service-name-th{
|
|
min-width:50px;
|
|
}
|
|
|
|
.service-status .service-averagelatency-th{
|
|
min-width:80px;
|
|
}
|
|
|
|
.service-status .service-30daysonline-th{
|
|
min-width:80px;
|
|
}
|
|
|
|
.service-status .delay-today {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: left;
|
|
}
|
|
|
|
.service-status .delay-today i {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: 50%;
|
|
text-align: center;
|
|
background-color: grey;
|
|
margin-right: 0.3em;
|
|
}
|
|
|
|
.service-day-status-icon {
|
|
display: inline-block;
|
|
width: 18px;
|
|
height: 18px;
|
|
margin-right: 4px;
|
|
margin-bottom: -3.25px;
|
|
border-radius: 3px;
|
|
box-shadow: inset 0 2px 2px rgba(0, 0, 0, .1);
|
|
}
|
|
|
|
.service-status .tooltip-inner {
|
|
max-width: 500px;
|
|
}
|
|
|
|
td.ping-network-quality {
|
|
width: 600px;
|
|
}
|
|
/* 服务页 正文结束 */
|
|
|
|
/* 地图版服务器分布图 */
|
|
#mapChartBox{
|
|
z-index: 999999999;
|
|
padding-left: 0 !important;
|
|
}
|
|
|
|
.modal-open .modal{
|
|
overflow-x: hidden;
|
|
overflow-y: hidden;
|
|
}
|
|
|
|
.modal-dialog-centered{
|
|
margin: 0 auto;
|
|
width: 100%;
|
|
max-width: 100%;
|
|
display: flex;
|
|
align-items: center; /* 垂直居中 */
|
|
justify-content: center; /* 水平居中 */
|
|
min-height: calc(100%) /* 确保模态框占据整个视口高度 */
|
|
}
|
|
|
|
.modal-content{
|
|
display: flex;
|
|
flex-direction: column;
|
|
pointer-events: auto;
|
|
border-radius: unset;
|
|
border: none;
|
|
}
|
|
|
|
.modal-header{
|
|
position: relative;
|
|
}
|
|
|
|
.modal-header h4{
|
|
cursor: pointer;
|
|
}
|
|
|
|
.modal-header i.xclose{
|
|
cursor: pointer;
|
|
position: absolute;
|
|
font-size: 30px;
|
|
top: 12px;
|
|
right: 10px;
|
|
}
|
|
|
|
.modal-body{
|
|
padding: 0px;
|
|
}
|
|
|
|
a.template-item, a.cdn-item{
|
|
display: block;
|
|
}
|
|
|
|
footer{
|
|
padding-bottom: 20px;
|
|
}
|
|
|
|
footer p{
|
|
text-align: center;
|
|
font-size: 10px;
|
|
}
|
|
|
|
@media only screen and (max-width: 1200px) {
|
|
.accordian-body{
|
|
margin: 5px 0px 5px 10px;
|
|
}
|
|
table.monitor-detail{
|
|
margin:0px 0px 2px 0px;
|
|
}
|
|
.table .network-thead-tr th,
|
|
.table .node-group-tag th{
|
|
font-size:16px;
|
|
padding-bottom:6px;
|
|
}
|
|
}
|
|
|
|
@media only screen and (max-width: 767px) {
|
|
body {
|
|
font-size: 10px !important;
|
|
padding-top:60px !important;
|
|
}
|
|
.nezha {
|
|
min-height: calc(100vh - 80px);
|
|
}
|
|
.content {
|
|
padding: 0;
|
|
margin-bottom: 10px;
|
|
}
|
|
footer{
|
|
padding-bottom: 10px;
|
|
}
|
|
.cycle-transfer-stats .dataTables_wrapper{
|
|
margin-bottom: -10px;
|
|
}
|
|
.navbar .navbar-nav .open .dropdown-menu>li>a {
|
|
color: #f1f1f1;
|
|
}
|
|
.navbar .navbar-nav .open .dropdown-menu {
|
|
list-style-image: initial;
|
|
background-color: #181a1b;
|
|
border-color: rgba(140, 130, 115, 0.15);
|
|
box-shadow: rgba(0, 0, 0, 0.18) 0px 6px 12px;
|
|
}
|
|
.table > tbody > tr > td:before,
|
|
.table > tbody > tr > th:before,
|
|
.table > tfoot > tr > td:before,
|
|
.table > tfoot > tr > th:before,
|
|
.table > thead > tr > td:before,
|
|
.table > thead > tr > th:before {
|
|
height: 0.5px;
|
|
}
|
|
.node-cell.os,
|
|
.node-cell.uptime,
|
|
.node-cell.traffic{
|
|
display: none;
|
|
visibility: hidden;
|
|
}
|
|
.node-cell.location{
|
|
display: table-cell;
|
|
visibility: visible;
|
|
}
|
|
.node-cell-os-text,.node-cell-location-text{
|
|
display: none;
|
|
visibility: hidden;
|
|
}
|
|
.accordian-body{
|
|
margin: 5px 0px 5px 10px;
|
|
}
|
|
table.monitor-detail{
|
|
margin:0px 0px 2px 0px;
|
|
}
|
|
.table .network-thead-tr th,
|
|
.table .node-group-tag th{
|
|
font-size:14px;
|
|
padding-bottom:6px;
|
|
}
|
|
.table tr.network td{
|
|
font-size: 12px;
|
|
}
|
|
.service-status .service-status-th{
|
|
min-width:30px;
|
|
}
|
|
.service-status .delay-today{
|
|
margin-top:4px;
|
|
justify-content: center;
|
|
}
|
|
.service-status .delay-today i{
|
|
margin-right:0px;
|
|
}
|
|
.service-status .delay-today-text{
|
|
display: none;
|
|
visibility: hidden;
|
|
}
|
|
.service-status .service-averagelatency-th{
|
|
min-width:70px;
|
|
}
|
|
.service-status .service-30daysonline-th{
|
|
min-width:75px;
|
|
}
|
|
.toolbox {
|
|
right: 18px;
|
|
}
|
|
td.ping-network-quality {
|
|
width: 110px;
|
|
}
|
|
}
|
|
|
|
@media only screen and (min-width: 768px) {
|
|
.pl-md-unset {
|
|
padding-left: unset !important;
|
|
}
|
|
} |