darktheme.less 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791
  1. @import "../../../../public/assets/less/bootstrap-less/mixins.less";
  2. @import "../../../../public/assets/less/bootstrap-less/variables.less";
  3. @import "../../../../public/assets/less/fastadmin/variables.less";
  4. @import "../../../../public/assets/less/fastadmin/mixins.less";
  5. @bgcolor: #262626;
  6. @fontcolor: #ccc;
  7. @lightenbgcolor: lighten(@bgcolor, 10%);
  8. @tablebordercolor: #2a2a2a;
  9. @primary: #4e73df;
  10. @sidebar-dark-bg: darken(@bgcolor, 10%);
  11. @sidebar-dark-submenu-bg: darken(@bgcolor, 5%);
  12. :root {
  13. --bgcolor: @bgcolor;
  14. --lightenbgcolor: @lightenbgcolor;
  15. --fontcolor: @fontcolor;
  16. }
  17. .scrollbars(@size, @foreground-color, @background-color) {
  18. &::-webkit-scrollbar {
  19. width: @size;
  20. height: @size;
  21. }
  22. &::-webkit-scrollbar-thumb {
  23. background: @foreground-color;
  24. }
  25. &::-webkit-scrollbar-track {
  26. background: @background-color;
  27. }
  28. scrollbar-color: @foreground-color @background-color;
  29. }
  30. body.darktheme {
  31. background-color: @bgcolor;
  32. color: @fontcolor;
  33. #toast-container > div, #toast-container > div:hover {
  34. box-shadow: none;
  35. }
  36. hr {
  37. border-top-color: @bgcolor;
  38. }
  39. .autocontent .autocontent-caret {
  40. background-color: @bgcolor;
  41. color: @fontcolor;
  42. }
  43. .breadcrumb {
  44. background: @lightenbgcolor;
  45. }
  46. .nav-pills > li > a {
  47. color: @fontcolor;
  48. }
  49. .nav > li > a:hover, .nav > li > a:active, .nav > li > a:focus {
  50. background-color: @lightenbgcolor;
  51. }
  52. .pager li > a, .pager li > span {
  53. background-color: @lightenbgcolor;
  54. border-color: @lightenbgcolor;
  55. }
  56. .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span {
  57. background-color: @lightenbgcolor;
  58. }
  59. .jumbotron {
  60. background-color: @lightenbgcolor;
  61. }
  62. .panel-footer {
  63. border-top-color: @lightenbgcolor;
  64. background-color: @lightenbgcolor;
  65. }
  66. a.list-group-item, button.list-group-item {
  67. color: @fontcolor;
  68. }
  69. a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading {
  70. color: #eee;
  71. }
  72. .page-header {
  73. border-bottom-color: @lightenbgcolor;
  74. }
  75. .progress {
  76. background-color: lighten(@lightenbgcolor, 10%);
  77. }
  78. .nav-tabs {
  79. border-color: @lightenbgcolor;
  80. > li.active > a, > li.active > a:hover, > li.active > a:focus {
  81. background-color: @lightenbgcolor;
  82. border-color: @lightenbgcolor;
  83. color: @fontcolor;
  84. }
  85. > li > a:hover {
  86. background-color: @bgcolor;
  87. border-color: @bgcolor;
  88. color: @fontcolor;
  89. }
  90. }
  91. .main-header .navbar {
  92. background-color: @lightenbgcolor;
  93. .nav > li > a {
  94. color: #aaa;
  95. }
  96. }
  97. .alert-info-light {
  98. background-color: #274557;
  99. border-color: #274557;
  100. }
  101. .alert-warning-light {
  102. background-color: #504b33;
  103. border-color: #504b33;
  104. }
  105. .main-header .navbar .sidebar-toggle {
  106. color: @fontcolor;
  107. }
  108. .nav-addtabs > li > a {
  109. border-right: 1px solid rgba(255, 255, 255, 0.05);
  110. }
  111. .main-header .navbar .nav > li > a:hover, .main-header .navbar .nav > li > a:active, .main-header .navbar .nav > li > a:focus, .main-header .navbar .nav .open > a, .main-header .navbar .nav .open > a:hover, .main-header .navbar .nav .open > a:focus, .main-header .navbar .nav > .active > a {
  112. background: darken(@lightenbgcolor, 10%);
  113. color: @fontcolor;
  114. }
  115. .content-wrapper, .right-side {
  116. background-color: #333;
  117. }
  118. .panel {
  119. background-color: lighten(@bgcolor, 5%);
  120. }
  121. .panel-intro > .panel-heading {
  122. background-color: lighten(@bgcolor, 10%);
  123. border-color: lighten(@bgcolor, 10%);
  124. color: @fontcolor;
  125. }
  126. .panel-intro > .panel-heading .nav-tabs > li.active > a, .panel-intro > .panel-heading .nav-tabs > li.active > a:hover, .panel-intro > .panel-heading .nav-tabs > li.active > a:focus {
  127. background-color: #333;
  128. border-color: #333;
  129. color: @fontcolor;
  130. }
  131. .panel-intro > .panel-heading .nav-tabs > li > a {
  132. background-color: @bgcolor;
  133. border-color: @bgcolor;
  134. }
  135. .table > thead > tr > th {
  136. border-bottom-color: @tablebordercolor;
  137. }
  138. .table-striped tbody > tr:nth-of-type(2n+1) {
  139. background-color: darken(@lightenbgcolor, 2%);
  140. }
  141. .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
  142. border-top: 1px solid #363636;
  143. }
  144. .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td {
  145. border-color: @tablebordercolor;
  146. }
  147. .table-bordered {
  148. border-color: @tablebordercolor;
  149. }
  150. .fixed-table-loading {
  151. background-color: @bgcolor;
  152. border-color: #000;
  153. }
  154. .table-hover > tbody > tr:hover {
  155. background-color: @lightenbgcolor;
  156. }
  157. .fixed-table-container tbody .selected td {
  158. background-color: #363d4f;
  159. }
  160. .fixed-columns, .fixed-columns-right {
  161. background-color: lighten(@bgcolor, 5%);
  162. box-shadow: -1px 0 8px rgba(0, 0, 0, 0.18);
  163. }
  164. .pagination > li > a {
  165. background: @bgcolor;
  166. border-color: @bgcolor;
  167. &:hover {
  168. color: #344;
  169. }
  170. }
  171. .bootstrap-tagsinput {
  172. background-color: #3c3e3d;
  173. border-color: #444;
  174. }
  175. .form-control {
  176. background-color: #3c3e3d;
  177. border-color: #444;
  178. color: #eee;
  179. }
  180. .city-picker-span {
  181. background-color: #3c3e3d;
  182. border-color: #444;
  183. color: #eee;
  184. > .title > span {
  185. color: @fontcolor;
  186. }
  187. }
  188. .city-select-tab > a {
  189. border-color: lighten(#3c3e3d, 10%);
  190. color: @fontcolor;
  191. &.active {
  192. background-color: lighten(#3c3e3d, 10%);
  193. }
  194. }
  195. .city-select-content {
  196. background-color: lighten(#3c3e3d, 10%);
  197. color: #eee;
  198. .city-select a {
  199. color: @fontcolor;
  200. &:hover, &:focus {
  201. background-color: @lightenbgcolor;
  202. }
  203. }
  204. }
  205. .city-select-tab {
  206. background-color: #3c3e3d;
  207. border-color: #444;
  208. color: #eee;
  209. }
  210. .daterangepicker {
  211. background-color: lighten(#3c3e3d, 10%);
  212. }
  213. .ranges li, .daterangepicker .calendar-table {
  214. background-color: @lightenbgcolor;
  215. border-color: @lightenbgcolor;
  216. color: @fontcolor;
  217. }
  218. .mockup-bg {
  219. background-color: @bgcolor;
  220. }
  221. .sm-st, .stores {
  222. background: @bgcolor !important;
  223. }
  224. .daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
  225. background-color: lighten(#3c3e3d, 5%);
  226. }
  227. .daterangepicker td.in-range {
  228. background-color: lighten(#3c3e3d, 10%);
  229. color: @fontcolor;
  230. }
  231. .bootstrap-datetimepicker-widget.dropdown-menu.top:after {
  232. border-top-color: lighten(#3c3e3d, 5%);
  233. }
  234. .input-group .input-group-addon {
  235. background-color: #3c3e3d;
  236. border-color: #444;
  237. color: #eee;
  238. }
  239. .sp_result_area, .sp_results {
  240. background-color: @lightenbgcolor;
  241. border-color: @lightenbgcolor;
  242. > li {
  243. color: @fontcolor;
  244. &.sp_selected {
  245. background-color: darken(@lightenbgcolor, 5%);
  246. }
  247. }
  248. }
  249. div.sp_result_area div.sp_pagination > ul > li > a {
  250. background-color: @lightenbgcolor;
  251. color: @fontcolor;
  252. &:hover {
  253. color: lighten(@fontcolor, 10%);
  254. background-color: darken(@lightenbgcolor, 10%);
  255. }
  256. }
  257. div.sp_result_area div.sp_pagination > ul > li.pageInfoBox > a {
  258. color: @fontcolor;
  259. }
  260. div.sp_result_area div.sp_pagination > ul > li.disabled > a {
  261. color: darken(@fontcolor, 20%);
  262. &:hover {
  263. color: darken(@fontcolor, 20%);
  264. background-color: inherit;
  265. }
  266. }
  267. .sp_control_box button {
  268. color: @fontcolor;
  269. }
  270. .sp_control_box:hover {
  271. background-color: @bgcolor;
  272. }
  273. .sp_control_box:hover button {
  274. background-color: @bgcolor;
  275. opacity: 1;
  276. }
  277. .sp_control_box:hover button:hover {
  278. background-color: @bgcolor;
  279. color: black;
  280. }
  281. div.sp_container_combo {
  282. background-color: #3c3e3d;
  283. border-color: #444;
  284. }
  285. ul.sp_element_box li.selected_tag {
  286. background-color: dodgerblue;
  287. color: #fff;
  288. box-shadow: none;
  289. border: none;
  290. }
  291. .thumbnail {
  292. background-color: #888;
  293. border-color: #444;
  294. }
  295. .btn-default {
  296. background-color: #888;
  297. border-color: #444;
  298. }
  299. .dropdown {
  300. .btn-default, .btn-default:hover {
  301. background-color: #3c3e3d;
  302. border-color: #444;
  303. color: @fontcolor;
  304. }
  305. }
  306. .dropdown-menu {
  307. background-color: @lightenbgcolor;
  308. color: @fontcolor;
  309. > .divider {
  310. background-color: lighten(@lightenbgcolor, 15%);
  311. }
  312. > li > a {
  313. color: @fontcolor;
  314. &:hover {
  315. color: lighten(@fontcolor, 10%);
  316. background-color: lighten(@lightenbgcolor, 10%);
  317. }
  318. }
  319. }
  320. &.is-dialog {
  321. background-color: @bgcolor;
  322. #main {
  323. background-color: @bgcolor;
  324. }
  325. }
  326. .layui-layer-load {
  327. background-color: @bgcolor;
  328. }
  329. .layui-layer-fast .layui-layer-footer, .layui-layer-fast .layui-layer-btn {
  330. background-color: #2b2d32;
  331. }
  332. .layui-layer {
  333. background-color: lighten(@bgcolor, 5%);
  334. }
  335. .layui-layer-fast .layui-layer-title {
  336. background-color: darken(@bgcolor, 8%) !important;
  337. }
  338. .layui-layer-prompt .layui-layer-input {
  339. background-color: #3c3e3d;
  340. border-color: #444;
  341. color: #eee;
  342. }
  343. .text-primary {
  344. color: @fontcolor;
  345. }
  346. a.title {
  347. color: #47a0f2;
  348. }
  349. legend {
  350. color: @fontcolor;
  351. }
  352. canvas {
  353. filter: invert(1) hue-rotate(180deg);
  354. }
  355. .popover {
  356. background-color: @lightenbgcolor;
  357. border-color: @lightenbgcolor;
  358. }
  359. .popover.top > .arrow:after {
  360. border-top-color: @lightenbgcolor;
  361. }
  362. .list-group-item {
  363. background-color: @lightenbgcolor;
  364. border-color: @tablebordercolor;
  365. }
  366. @media (max-width: 991px) {
  367. .navbar-custom-menu > .navbar-nav > li > .dropdown-menu {
  368. border-color: @lightenbgcolor;
  369. background-color: @lightenbgcolor;
  370. box-shadow: none;
  371. }
  372. }
  373. .scrollbars(9px, #999, #333);
  374. div, ul, textarea {
  375. .scrollbars(9px, #666, #333);
  376. }
  377. &.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
  378. border-left-color: @bgcolor;
  379. }
  380. .well, .box {
  381. background-color: darken(@lightenbgcolor, 2%);
  382. border-color: darken(@lightenbgcolor, 2%);
  383. }
  384. #secondnav {
  385. background-color: lighten(@lightenbgcolor, 5%);
  386. .nav-addtabs > li {
  387. background-color: lighten(@bgcolor, 20%);
  388. border-color: lighten(@bgcolor, 20%);
  389. color: @fontcolor;
  390. > a {
  391. color: @fontcolor !important;
  392. &:hover {
  393. color: lighten(@fontcolor, 20%) !important;
  394. }
  395. }
  396. &.active {
  397. background-color: lighten(@bgcolor, 10%);
  398. border-color: lighten(@bgcolor, 10%);
  399. > a {
  400. color: lighten(@fontcolor, 20%) !important;
  401. }
  402. }
  403. }
  404. }
  405. .system-message {
  406. background-color: @lightenbgcolor;
  407. h1 {
  408. color: @fontcolor;
  409. }
  410. }
  411. .wipecache li a {
  412. color: @fontcolor !important;
  413. }
  414. .navbar-nav > .user-menu > .dropdown-menu > .user-body a {
  415. background-color: @tablebordercolor !important;
  416. color: @fontcolor !important;
  417. }
  418. .navbar-nav > .user-menu > .dropdown-menu > {
  419. .user-body {
  420. background-color: @tablebordercolor;
  421. border-color: @tablebordercolor;
  422. border-radius: 0;
  423. }
  424. .user-footer {
  425. background-color: darken(@lightenbgcolor, 5%);
  426. border-color: darken(@lightenbgcolor, 5%);
  427. }
  428. }
  429. .control-sidebar-dark, .control-sidebar-dark + .control-sidebar-bg {
  430. background-color: @bgcolor;
  431. }
  432. #configbody h2 {
  433. border-bottom-color: lighten(@lightenbgcolor, 10%);
  434. }
  435. .exception .source-code {
  436. background-color: @bgcolor;
  437. }
  438. .panel-statistics h3 {
  439. color: @fontcolor;
  440. }
  441. .panel-default {
  442. border-color: @lightenbgcolor;
  443. color: @fontcolor;
  444. }
  445. .panel-default > .panel-heading {
  446. background-color: @lightenbgcolor;
  447. border-color: @lightenbgcolor;
  448. }
  449. // 边栏
  450. .main-header {
  451. background: @sidebar-dark-bg;
  452. .navbar {
  453. .navbar-nav {
  454. > li > a {
  455. border-right: none;
  456. }
  457. }
  458. .navbar-custom-menu .navbar-nav, .navbar-right {
  459. > li {
  460. > a {
  461. border-left: none;
  462. border-right-width: 0;
  463. }
  464. }
  465. }
  466. @media (max-width: @screen-header-collapse) {
  467. .navbar-variant(darken(@bgcolor, 10%), #fff);
  468. }
  469. }
  470. .logo {
  471. .logo-variant(@sidebar-dark-bg; #fff);
  472. border-right: 1px solid @sidebar-dark-bg;
  473. @media (max-width: @screen-header-collapse) {
  474. .logo-variant(darken(@bgcolor, 10%), #fff);
  475. border-right: none;
  476. }
  477. }
  478. li.user-header {
  479. background-color: @sidebar-dark-bg;
  480. }
  481. .nav-addtabs > li > a, .nav-addtabs > li.active > a {
  482. border-right-color: transparent;
  483. }
  484. }
  485. .content-header {
  486. background: transparent;
  487. box-shadow: none;
  488. }
  489. .skin-dark-sidebar(#fff);
  490. .treeview-menu {
  491. > li {
  492. > a {
  493. padding-left: 18px;
  494. }
  495. &.active > a {
  496. background-color: @primary;
  497. }
  498. }
  499. }
  500. .sidebar-menu {
  501. > li {
  502. > a {
  503. //border-left: 3px solid transparent;
  504. }
  505. &.active > a {
  506. color: @sidebar-dark-hover-color;
  507. background: @primary;
  508. border-left-color: @primary;
  509. }
  510. &:hover > a {
  511. border-left-color: transparent;
  512. }
  513. }
  514. li.treeview > a {
  515. background: transparent;
  516. border-left-color: transparent;
  517. }
  518. li.treeview {
  519. &.active > a, &.treeview-open > a {
  520. background-color: @sidebar-dark-submenu-bg;
  521. border-left-color: @sidebar-dark-submenu-bg;
  522. }
  523. }
  524. .treeview-menu {
  525. padding-left: 0;
  526. .treeview-menu {
  527. padding-left: 0;
  528. > li > a {
  529. padding-left: 30px;
  530. }
  531. }
  532. li.treeview > a {
  533. background: transparent;
  534. border-left-color: transparent;
  535. }
  536. }
  537. }
  538. &.sidebar-collapse {
  539. .sidebar-menu {
  540. li:hover > a, li.active > a {
  541. color: @sidebar-dark-hover-color;
  542. background: @primary;
  543. }
  544. .treeview-menu {
  545. li.active > a {
  546. color: @sidebar-dark-hover-color;
  547. background: @primary;
  548. }
  549. li.treeview > a {
  550. background: transparent;
  551. border-left-color: transparent;
  552. }
  553. }
  554. }
  555. }
  556. &.multiplenav {
  557. @media (max-width: @screen-header-collapse) {
  558. .sidebar .mobilenav a.btn-app {
  559. background: lighten(@sidebar-dark-bg, 10%);
  560. color: #fff;
  561. &.active {
  562. background: @primary;
  563. color: #fff;
  564. }
  565. }
  566. }
  567. }
  568. .box-comments {
  569. background-color: @tablebordercolor;
  570. }
  571. .nav-tabs-custom {
  572. background-color: @bgcolor;
  573. > .nav-tabs > li > a, > .nav-tabs > li.header {
  574. color: @fontcolor;
  575. }
  576. }
  577. .nav-tabs-custom > .tab-content {
  578. background-color: @lightenbgcolor;
  579. }
  580. .box-header {
  581. color: @fontcolor;
  582. }
  583. .box-header.with-border {
  584. border-bottom-color: @lightenbgcolor;
  585. }
  586. .box-footer {
  587. background-color: @lightenbgcolor;
  588. border-color: @bgcolor;
  589. }
  590. .box-comments .box-comment:first-of-type {
  591. border-color: @lightenbgcolor;
  592. }
  593. .box-comments .username, .box-comments .comment-text {
  594. color: @fontcolor;
  595. }
  596. .nav-stacked > li > a {
  597. color: @fontcolor;
  598. }
  599. .attachment-block {
  600. background-color: @lightenbgcolor;
  601. border-color: @lightenbgcolor;
  602. color: @fontcolor;
  603. .attachment-text {
  604. color: @fontcolor;
  605. }
  606. }
  607. .info-box {
  608. background-color: @lightenbgcolor;
  609. }
  610. }