index.css 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. @import url("../static/css/bootstrap.min.css");
  2. html {
  3. font-size: 14px;
  4. }
  5. body{
  6. color:#666;
  7. background: #f5f7fa;
  8. }
  9. #pageContainer {
  10. margin: 0 auto;
  11. }
  12. .mod-imagebase64 {
  13. margin:0 auto;
  14. padding-bottom: 0;
  15. }
  16. .tips{
  17. color:#aaa;
  18. margin: 10px 0;
  19. font-size: 12px;
  20. }
  21. table {
  22. width:100%;
  23. table-layout: fixed;
  24. }
  25. td {
  26. width:50%;
  27. vertical-align: top;
  28. }
  29. td .x-panel {
  30. height:460px;
  31. background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAABLCAIAAAB7tddWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1Q0VBNzA0MjEyMDUxMUUzODk2Q0JFM0Q1RjE4QkExQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1Q0VBNzA0MzEyMDUxMUUzODk2Q0JFM0Q1RjE4QkExQyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAzNDA2MkY1MTIwMzExRTM4OTZDQkUzRDVGMThCQTFDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAzNDA2MkY2MTIwMzExRTM4OTZDQkUzRDVGMThCQTFDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+K6izdgAAAk1JREFUeNrt2+uOgjAQhuG9/5tUPEs0nhU87hvNGoJY0C0yyNffBNuHdjpT8Oeidm0/IhCEIAQhCEEIQhCCEMT5fA6CoHVt7Xb7dDo1d0Yw/tZfE4QgBCEIQQjCHMThcBiPx51Op/XBljngl1pufvEaxH6//zCBUQjmwttd+SqI9rUJ4pK89XA4jKKoocEyCUG8aO6ukYSg5hOEIAQhCEH4gOCa+Xze7/e5vtvtTiaT4/HYOAj2116vl0psgiDYbrcGy7YSIQaDQWaSh0VJ88IixHK5dCS80+m0KRBhGDogWDIex8D8St7cVowYjUYOCGr5gr8YxzEhFjhiLUGXqfRY4JiGoPcOCMJH7m8xnmc3od5LVjqmIXa7nQOCPTX3HOy26TrK6tVqVQMIR5hgnrv7ysAe910HqHUILmBJp7pO7OBpe1G4tfV6bR3iHu0WiwWrfTab5aZSjMG9IjLXyGazqQHEq2eibxzD3V+FfwkEU8bLAWe9IVg1vk56awxB+ExN74ZCkCB5PPuvKwS5gN+XICYg6AQDI1lgv2TjzL2hOwGtKwQBj9KoeCpNj1PXfwMEWVNmt5gazxaRu1SvJYR7nRMLH4+kvIeG6iGKDInyIVliUCCU98a4GojiQ6IoIHeMoohFVOor9QogiPmVfCVgC4JnW8nXM+Ygytj5aglhtglCEIIQhCCMQVT1neVLh9qfeAlM+WQcgh5+AiKOY5vZ5H06FDkN8gBxO2gNw5C00s7UoCf0h1795xtY/e9TEIIQhCAEIQhBCEIQftovDwuUVV5nLjcAAAAASUVORK5CYII=) center 120px no-repeat;
  32. border:4px dashed #ddd;
  33. position: relative;
  34. text-align: center;
  35. margin-right: 10px;
  36. }
  37. td .x-panel .x-tips {
  38. color:#aaa;
  39. text-align: center;
  40. position: absolute;
  41. bottom: 30px;
  42. left: calc(50% - 112px);
  43. }
  44. .tips i{
  45. color: #454545;
  46. }
  47. #upload {
  48. font-size: 20px;
  49. background: #00b7ee;
  50. border-radius: 3px;
  51. line-height: 44px;
  52. height: 45px;
  53. padding: 0 30px;
  54. color: #fff;
  55. display: inline-block;
  56. margin: 5px auto 15px;
  57. cursor: pointer;
  58. box-shadow: 0 1px 1px rgba(0,0,0,.1);
  59. text-decoration: none;
  60. }
  61. #upload:hover {
  62. background: #00a2d4;
  63. }
  64. #preview {max-width: 260px;max-height: 260px;margin-top:50px;}
  65. form {display: none}
  66. #base64Result,#base64Input {
  67. height:460px;
  68. padding:4px;
  69. margin:0;
  70. resize:none;outline:none;
  71. background: #fcfcfc;
  72. border:1px solid #ddd;
  73. }
  74. .-e-x-footer {
  75. text-align:center;
  76. font-size:12px;
  77. margin-top:30px;
  78. color:#00c;
  79. padding:5px;
  80. display:none;
  81. }
  82. .x-result-info .x-title{
  83. color: #aaa;
  84. font-size: 12px;
  85. }
  86. #sizeOri,#sizeBase {
  87. color: #600;
  88. font-style: italic;
  89. }
  90. .mod-base64image .x-panel{
  91. margin-left: 40px;
  92. }
  93. #base64Input{
  94. background:#fff;
  95. }
  96. .x-xdemo {
  97. margin-left: 30px;
  98. font-size: 12px;
  99. color: blue;
  100. cursor: pointer;
  101. text-decoration: underline;
  102. -webkit-user-select: none;
  103. user-select: none;
  104. }
  105. .x-xdemo:hover {
  106. color: #cc8841;
  107. }
  108. /* 保持原有的顶部导航样式 */
  109. .x-switch {
  110. font-size: 14px;
  111. font-weight: 500;
  112. color: #2563eb;
  113. cursor: pointer;
  114. text-decoration: none;
  115. border: none;
  116. margin-left: 70px;
  117. white-space: nowrap;
  118. margin-right: auto;
  119. padding: 8px 16px;
  120. border-radius: 20px;
  121. background-color: #eff6ff;
  122. transition: all 0.2s ease;
  123. position: relative;
  124. display: inline-flex;
  125. align-items: center;
  126. box-shadow: 0 1px 2px rgba(37, 99, 235, 0.1);
  127. }
  128. .x-switch::before {
  129. content: '';
  130. display: inline-block;
  131. width: 18px;
  132. height: 18px;
  133. margin-right: 6px;
  134. background: url('../static/img/switch-mode.svg') no-repeat center center;
  135. background-size: contain;
  136. opacity: 0.8;
  137. transition: transform 0.3s ease;
  138. }
  139. .x-switch:hover {
  140. background-color: #dbeafe;
  141. color: #1d4ed8;
  142. text-decoration: none;
  143. box-shadow: 0 2px 4px rgba(37, 99, 235, 0.15);
  144. transform: translateY(-1px);
  145. }
  146. .x-switch:hover::before {
  147. transform: rotate(180deg);
  148. opacity: 1;
  149. }
  150. .x-error {
  151. margin: 0px 0px 10px 21px;
  152. padding-bottom: 10px;
  153. color:#f00;
  154. }
  155. /* 面板和标题栏样式 */
  156. .panel {
  157. background: #fff;
  158. border: 1px solid #ddd;
  159. border-radius: 4px;
  160. box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  161. }
  162. .panel-heading {
  163. background: #fff;
  164. border-bottom: 1px solid #ddd;
  165. padding: 10px 15px;
  166. }
  167. .panel-title {
  168. display: flex;
  169. align-items: center;
  170. justify-content: space-between;
  171. margin: 0;
  172. font-size: 14px;
  173. font-weight: normal;
  174. }
  175. .title-text-wrapper {
  176. display: flex;
  177. align-items: center;
  178. }
  179. .panel-title .x-a-high {
  180. color: #333;
  181. text-decoration: none;
  182. display: flex;
  183. align-items: center;
  184. font-size: 14px;
  185. }
  186. .panel-title .x-a-high:hover {
  187. color: #666;
  188. text-decoration: none;
  189. }
  190. .panel-title .x-a-high img {
  191. height: 16px;
  192. width: 16px;
  193. margin-right: 5px;
  194. vertical-align: middle;
  195. }
  196. .title-text-wrapper-text {
  197. margin-left: 5px;
  198. font-size: 14px;
  199. color: #333;
  200. }
  201. .x-switch {
  202. margin-left: 20px;
  203. font-size: 12px;
  204. color: #f00;
  205. cursor: pointer;
  206. padding: 3px 8px;
  207. border: 1px solid #f00;
  208. border-radius: 3px;
  209. text-decoration: none;
  210. user-select: none;
  211. transition: all 0.2s ease;
  212. }
  213. .x-switch:hover {
  214. background-color: #fff0f0;
  215. text-decoration: none;
  216. }
  217. /* 主体布局 */
  218. .image-base64-layout,
  219. .base64-image-layout {
  220. display: flex;
  221. gap: 20px;
  222. padding: 20px;
  223. }
  224. .upload-section,
  225. .result-section,
  226. .input-section,
  227. .preview-section {
  228. flex: 1;
  229. }
  230. .section-title {
  231. font-size: 16px;
  232. color: #333;
  233. margin-bottom: 15px;
  234. font-weight: 500;
  235. }
  236. /* 上传区域样式 */
  237. .x-panel {
  238. height: 460px;
  239. background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAABLCAIAAAB7tddWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1Q0VBNzA0MjEyMDUxMUUzODk2Q0JFM0Q1RjE4QkExQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1Q0VBNzA0MzEyMDUxMUUzODk2Q0JFM0Q1RjE4QkExQyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAzNDA2MkY1MTIwMzExRTM4OTZDQkUzRDVGMThCQTFDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAzNDA2MkY2MTIwMzExRTM4OTZDQkUzRDVGMThCQTFDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+K6izdgAAAk1JREFUeNrt2+uOgjAQhuG9/5tUPEs0nhU87hvNGoJY0C0yyNffBNuHdjpT8Oeidm0/IhCEIAQhCEEIQhCCEMT5fA6CoHVt7Xb7dDo1d0Yw/tZfE4QgBCEIQQjCHMThcBiPx51Op/XBljngl1pufvEaxH6//zCBUQjmwttd+SqI9rUJ4pK89XA4jKKoocEyCUG8aO6ukYSg5hOEIAQhCEH4gOCa+Xze7/e5vtvtTiaT4/HYOAj2116vl0psgiDYbrcGy7YSIQaDQWaSh0VJ88IixHK5dCS80+m0KRBhGDogWDIex8D8St7cVowYjUYOCGr5gr8YxzEhFjhiLUGXqfRY4JiGoPcOCMJH7m8xnmc3od5LVjqmIXa7nQOCPTX3HOy26TrK6tVqVQMIR5hgnrv7ysAe910HqHUILmBJp7pO7OBpe1G4tfV6bR3iHu0WiwWrfTab5aZSjMG9IjLXyGazqQHEq2eibxzD3V+FfwkEU8bLAWe9IVg1vk56awxB+ExN74ZCkCB5PPuvKwS5gN+XICYg6AQDI1lgv2TjzL2hOwGtKwQBj9KoeCpNj1PXfwMEWVNmt5gazxaRu1SvJYR7nRMLH4+kvIeG6iGKDInyIVliUCCU98a4GojiQ6IoIHeMoohFVOor9QogiPmVfCVgC4JnW8nXM+Ygytj5aglhtglCEIIQhCCMQVT1neVLh9qfeAlM+WQcgh5+AiKOY5vZ5H06FDkN8gBxO2gNw5C00s7UoCf0h1795xtY/e9TEIIQhCAEIQhBCEIQftovDwuUVV5nLjcAAAAASUVORK5CYII=) center 120px no-repeat;
  240. border:4px dashed #ddd;
  241. position: relative;
  242. text-align: center;
  243. border-radius: 4px;
  244. }
  245. .upload-instructions {
  246. position: absolute;
  247. bottom: 30px;
  248. left: 0;
  249. right: 0;
  250. text-align: center;
  251. }
  252. .drag-drop-text {
  253. display: block;
  254. margin-top: 10px;
  255. color: #999;
  256. }
  257. #upload {
  258. font-size: 16px;
  259. background: #00b7ee;
  260. border-radius: 4px;
  261. line-height: 40px;
  262. height: 40px;
  263. padding: 0 25px;
  264. color: #fff;
  265. display: inline-block;
  266. margin: 5px auto;
  267. cursor: pointer;
  268. box-shadow: 0 2px 4px rgba(0,0,0,.1);
  269. text-decoration: none;
  270. transition: all 0.3s ease;
  271. }
  272. #upload:hover {
  273. background: #00a2d4;
  274. box-shadow: 0 2px 8px rgba(0,0,0,.2);
  275. }
  276. #preview {
  277. max-width: 260px;
  278. max-height: 260px;
  279. margin-top: 50px;
  280. }
  281. /* 结果区域样式 */
  282. .mod-textarea {
  283. height: 460px;
  284. padding: 10px;
  285. margin: 0;
  286. resize: none;
  287. outline: none;
  288. background: #fcfcfc;
  289. border: 1px solid #ddd;
  290. border-radius: 4px;
  291. font-family: monospace;
  292. font-size: 13px;
  293. }
  294. .x-result-info {
  295. margin-top: 10px;
  296. }
  297. .x-result-info .x-item {
  298. margin: 5px 0;
  299. }
  300. .x-result-info .x-title {
  301. color: #666;
  302. font-size: 13px;
  303. }
  304. #sizeOri, #sizeBase {
  305. color: #600;
  306. font-style: italic;
  307. }
  308. /* 提示文本样式 */
  309. .tips {
  310. color: #999;
  311. margin: 10px 0;
  312. font-size: 13px;
  313. line-height: 1.6;
  314. }
  315. .tips i {
  316. color: #454545;
  317. font-style: normal;
  318. font-weight: 500;
  319. }
  320. /* 错误提示样式 */
  321. .x-error {
  322. margin: 10px 20px;
  323. padding: 10px;
  324. color: #f00;
  325. background: #fff0f0;
  326. border-radius: 4px;
  327. font-size: 13px;
  328. }
  329. /* 隐藏表单 */
  330. form {
  331. display: none;
  332. }
  333. /* Base64转图片模式样式 */
  334. #base64Image {
  335. max-width: 100%;
  336. max-height: 460px;
  337. margin: 0 auto;
  338. display: block;
  339. }
  340. /* Style for the "Explore More Tools" button */
  341. .panel-title>a.x-other-tools {
  342. top: 0;
  343. }
  344. .x-donate-link {
  345. top: 14px;
  346. }