CodeBlock.css 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. .code-block-wrapper {
  2. position: relative;
  3. border-radius: 6px;
  4. overflow: hidden;
  5. border: 1px solid rgba(128, 128, 128, 0.15);
  6. }
  7. .code-toolbar {
  8. display: flex;
  9. align-items: center;
  10. justify-content: space-between;
  11. padding: 4px 8px;
  12. background: rgba(128, 128, 128, 0.06);
  13. border-bottom: 1px solid rgba(128, 128, 128, 0.1);
  14. }
  15. .lang-badge {
  16. font-size: 10px;
  17. font-weight: 700;
  18. letter-spacing: 0.5px;
  19. color: rgba(0, 0, 0, 0.4);
  20. text-transform: uppercase;
  21. font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  22. }
  23. .copy-btn {
  24. display: inline-flex;
  25. align-items: center;
  26. justify-content: center;
  27. width: 26px;
  28. height: 26px;
  29. border: 1px solid rgba(128, 128, 128, 0.15);
  30. border-radius: 4px;
  31. background: rgba(255, 255, 255, 0.7);
  32. color: rgba(0, 0, 0, 0.45);
  33. cursor: pointer;
  34. font-size: 12px;
  35. transition: all 0.15s;
  36. }
  37. .copy-btn:hover {
  38. background: #fff;
  39. color: #1677ff;
  40. border-color: #1677ff;
  41. }
  42. .copy-btn.copied {
  43. background: #52c41a;
  44. color: #fff;
  45. border-color: #52c41a;
  46. }
  47. .code-block {
  48. background: rgba(128, 128, 128, 0.04);
  49. padding: 10px 12px;
  50. margin: 0;
  51. font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  52. font-size: 12.5px;
  53. line-height: 1.6;
  54. white-space: pre-wrap;
  55. word-break: break-word;
  56. overflow-x: auto;
  57. border: none;
  58. border-radius: 0;
  59. }
  60. .json-key { color: #0550ae; }
  61. .json-string { color: #116329; }
  62. .json-number { color: #9a6700; }
  63. .json-boolean { color: #cf222e; }
  64. .json-null { color: #8250df; }
  65. body.dark .code-block-wrapper {
  66. border-color: rgba(255, 255, 255, 0.1);
  67. }
  68. body.dark .code-toolbar {
  69. background: rgba(255, 255, 255, 0.03);
  70. border-color: rgba(255, 255, 255, 0.06);
  71. }
  72. body.dark .lang-badge {
  73. color: rgba(255, 255, 255, 0.4);
  74. }
  75. body.dark .code-block {
  76. background: rgba(255, 255, 255, 0.03);
  77. color: rgba(255, 255, 255, 0.88);
  78. }
  79. body.dark .json-key { color: #79c0ff; }
  80. body.dark .json-string { color: #7ee787; }
  81. body.dark .json-number { color: #d29922; }
  82. body.dark .json-boolean { color: #ff7b72; }
  83. body.dark .json-null { color: #d2a8ff; }
  84. body.dark .copy-btn {
  85. background: rgba(255, 255, 255, 0.06);
  86. color: rgba(255, 255, 255, 0.45);
  87. border-color: rgba(255, 255, 255, 0.12);
  88. }
  89. body.dark .copy-btn:hover {
  90. background: rgba(255, 255, 255, 0.1);
  91. color: #58a6ff;
  92. border-color: #58a6ff;
  93. }