app.css 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. .pywebio {
  2. min-height: 100vh;
  3. padding-top: 20px;
  4. padding-bottom: 1px; /* if set 0, safari has min-height issue */
  5. }
  6. .markdown-body hr {
  7. height: 2px;
  8. padding: 0;
  9. margin: 24px 0;
  10. background-color: #eaecef;
  11. border: 0;
  12. }
  13. .container {
  14. margin-top: 0;
  15. max-width: 880px;
  16. }
  17. #output-container {
  18. -webkit-font-smoothing: antialiased;
  19. margin-bottom: 20px;
  20. }
  21. #input-container h5.card-header {
  22. padding: .4rem 1.25rem;
  23. }
  24. #input-container {
  25. z-index: 100;
  26. background: white;
  27. position: static;
  28. height: fit-content;
  29. box-shadow: none;
  30. margin-top: 0;
  31. margin-bottom: 40px; /* must equal #input-container.fixed padding-bottom */
  32. }
  33. #input-container.fixed {
  34. position: fixed !important;
  35. overflow: visible;
  36. bottom: 0;
  37. left: 0;
  38. right: 0;
  39. height: 0;
  40. box-shadow: 0 0 12px 1px rgba(80, 80, 80, 0.2);
  41. margin-bottom: 0;
  42. padding: 40px 0; /* must equal #input-container margin-bottom */
  43. }
  44. #input-container .card {
  45. margin: 0 auto;
  46. }
  47. .footer {
  48. height: 50px;
  49. text-align: center;
  50. color: gray;
  51. background-color: #efefef;
  52. line-height: 50px; /*设置line-height与父级元素的height相等, 以实现垂直居中*/
  53. margin: 0 auto;
  54. }
  55. .footer hr {
  56. margin-bottom: 0.5rem;
  57. }
  58. .footer a:visited {
  59. color: #9B59B6;
  60. }
  61. .footer a {
  62. color: #2980B9;
  63. text-decoration: none;
  64. cursor: pointer;
  65. }
  66. #title {
  67. text-align: center;
  68. position: absolute;
  69. left: 50%;
  70. transform: translateX(-50%);
  71. white-space: nowrap;
  72. }
  73. .markdown-body blockquote, .markdown-body dl, .markdown-body ol, .markdown-body p, .markdown-body pre, .markdown-body table, .markdown-body ul, .markdown-body details {
  74. margin-bottom: 10px;
  75. }
  76. .CodeMirror {
  77. font-size: 13px
  78. }
  79. h5.card-header:empty {
  80. padding: 0 !important;
  81. border-bottom: 0 !important;
  82. }
  83. button {
  84. margin-bottom: 8px;
  85. }
  86. td blockquote, td dl, td ol, td p, td pre, td table, td ul, td button, td pre {
  87. margin-bottom: 0 !important;
  88. }
  89. .input-container .form-group {
  90. margin-bottom: 0;
  91. }
  92. img {
  93. -webkit-animation-name: image-load-in;
  94. animation-name: image-load-in;
  95. -webkit-animation-duration: .6s;
  96. animation-duration: .6s
  97. }
  98. @-webkit-keyframes image-load-in {
  99. 0% {
  100. -webkit-filter: blur(8px);
  101. filter: blur(8px);
  102. opacity: 0
  103. }
  104. 100% {
  105. -webkit-filter: blur(0);
  106. filter: blur(0);
  107. opacity: 1
  108. }
  109. }
  110. @keyframes image-load-in {
  111. 0% {
  112. -webkit-filter: blur(8px);
  113. filter: blur(8px);
  114. opacity: 0
  115. }
  116. 100% {
  117. -webkit-filter: blur(0);
  118. filter: blur(0);
  119. opacity: 1
  120. }
  121. }
  122. .custom-file {
  123. margin-bottom: 8px;
  124. }
  125. summary:focus {
  126. outline: none;
  127. }
  128. details {
  129. border: 1px solid rgba(0,0,0,.125);
  130. border-radius: 4px;
  131. padding: .5em .5em 0;
  132. }
  133. summary {
  134. /*font-weight: bold;*/
  135. margin: -.5em -.5em 0;
  136. padding: .5em;
  137. background-color: rgba(0,0,0,.03);
  138. }
  139. details[open] {
  140. padding: .5em;
  141. }
  142. details[open]>summary {
  143. border-bottom: 1px solid rgba(0,0,0,.125);
  144. margin-bottom: .5em;
  145. }
  146. .actions-result {
  147. display: inline-block;
  148. font-weight: 400;
  149. color: #212529;
  150. text-align: center;
  151. vertical-align: middle;
  152. padding: .375rem .75rem;
  153. font-size: 1rem;
  154. line-height: 1.5;
  155. margin-bottom: 8px;
  156. }
  157. .hide{
  158. display: none;
  159. }
  160. .single-input-action-btn{
  161. border-top-right-radius: 0.25rem!important;
  162. border-bottom-right-radius: 0.25rem!important;
  163. }
  164. .alert-success > a {
  165. color: #0b2e13;
  166. }
  167. .alert-danger > a {
  168. color: #491217;
  169. }
  170. .alert-warning > a {
  171. color: #533f03;
  172. }
  173. .alert-info > a {
  174. color: #062c33;
  175. }
  176. .alert > a {
  177. font-weight: 700;
  178. }
  179. /*Tabs widget style*/
  180. /*Credit: https://themes.gohugo.io/theme/hugo-book/docs/shortcodes/tabs/ Licensed by MIT */
  181. .webio-tabs {
  182. margin-top: 1rem;
  183. margin-bottom: 1rem;
  184. border: 1px solid #e9ecef;
  185. border-radius: .25rem;
  186. overflow: hidden;
  187. display: flex;
  188. flex-wrap: wrap
  189. }
  190. .webio-tabs > label {
  191. display: inline-block;
  192. padding: .5rem 1rem;
  193. border-bottom: 1px transparent;
  194. cursor: pointer;
  195. margin-bottom: 0!important;
  196. }
  197. .webio-tabs > label:hover {
  198. background-color: #e9ecef;
  199. }
  200. .webio-tabs > .webio-tabs-content {
  201. order: 999;
  202. width: 100%;
  203. border-top: 1px solid #f5f5f5;
  204. padding: 1rem;
  205. display: none
  206. }
  207. .webio-tabs > input[type=radio]:checked + label {
  208. border-bottom: 2px solid #0055bb
  209. }
  210. .webio-tabs > input[type=radio]:checked + label + .webio-tabs-content {
  211. display: block
  212. }
  213. .webio-tabs > input.toggle {
  214. height: 0;
  215. width: 0;
  216. overflow: hidden;
  217. opacity: 0;
  218. position: absolute;
  219. }
  220. .webio-tabs > [type=radio] {
  221. box-sizing: border-box;
  222. padding: 0;
  223. }
  224. /*End of Tabs widget*/
  225. .custom-file-label > span {
  226. overflow: hidden;
  227. width: calc(100% - 6ch - 0.75rem) !important; /* 6ch is for "Browse", 0.75rem is for the padding of "Browse" button */
  228. text-overflow: ellipsis;
  229. white-space: nowrap;
  230. display: inline-block !important;
  231. }