瀏覽代碼

Merge branch 'dev'

VicCG.Lin 1 年之前
父節點
當前提交
dedf454b82

+ 3
- 0
src/fe/mrna/.vscode/settings.json 查看文件

1
+{
2
+  "liveServer.settings.port": 5501
3
+}

+ 117
- 103
src/fe/mrna/css/all.css 查看文件

75
 abbr[title] {
75
 abbr[title] {
76
   border-bottom: none; /* 1 */
76
   border-bottom: none; /* 1 */
77
   text-decoration: underline; /* 2 */
77
   text-decoration: underline; /* 2 */
78
-  text-decoration: underline dotted; /* 2 */
78
+  -webkit-text-decoration: underline dotted;
79
+          text-decoration: underline dotted; /* 2 */
79
 }
80
 }
80
 
81
 
81
 /**
82
 /**
836
   padding: 0;
837
   padding: 0;
837
 }
838
 }
838
 
839
 
839
-::-webkit-file-upload-button {
840
-  font: inherit;
841
-  -webkit-appearance: button;
842
-}
843
-
844
 ::file-selector-button {
840
 ::file-selector-button {
845
   font: inherit;
841
   font: inherit;
846
   -webkit-appearance: button;
842
   -webkit-appearance: button;
2380
   opacity: 1;
2376
   opacity: 1;
2381
 }
2377
 }
2382
 
2378
 
2383
-.form-control::-webkit-file-upload-button {
2384
-  padding: 0.375rem 0.75rem;
2385
-  margin: -0.375rem -0.75rem;
2386
-  -webkit-margin-end: 0.75rem;
2387
-  margin-inline-end: 0.75rem;
2388
-  color: var(--bs-body-color);
2389
-  background-color: var(--bs-tertiary-bg);
2390
-  pointer-events: none;
2391
-  border-color: inherit;
2392
-  border-style: solid;
2393
-  border-width: 0;
2394
-  border-inline-end-width: var(--bs-border-width);
2395
-  border-radius: 0;
2396
-  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
2397
-  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
2398
-}
2399
-
2400
 .form-control::file-selector-button {
2379
 .form-control::file-selector-button {
2401
   padding: 0.375rem 0.75rem;
2380
   padding: 0.375rem 0.75rem;
2402
   margin: -0.375rem -0.75rem;
2381
   margin: -0.375rem -0.75rem;
2403
-  -webkit-margin-end: 0.75rem;
2404
   margin-inline-end: 0.75rem;
2382
   margin-inline-end: 0.75rem;
2405
   color: var(--bs-body-color);
2383
   color: var(--bs-body-color);
2406
   background-color: var(--bs-tertiary-bg);
2384
   background-color: var(--bs-tertiary-bg);
2414
 }
2392
 }
2415
 
2393
 
2416
 @media (prefers-reduced-motion: reduce) {
2394
 @media (prefers-reduced-motion: reduce) {
2417
-  .form-control::-webkit-file-upload-button {
2418
-    -webkit-transition: none;
2419
-    transition: none;
2420
-  }
2421
   .form-control::file-selector-button {
2395
   .form-control::file-selector-button {
2422
     transition: none;
2396
     transition: none;
2423
   }
2397
   }
2424
 }
2398
 }
2425
-.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
2426
-  background-color: var(--bs-secondary-bg);
2427
-}
2428
 
2399
 
2429
 .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
2400
 .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
2430
   background-color: var(--bs-secondary-bg);
2401
   background-color: var(--bs-secondary-bg);
2458
   border-radius: var(--bs-border-radius-sm);
2429
   border-radius: var(--bs-border-radius-sm);
2459
 }
2430
 }
2460
 
2431
 
2461
-.form-control-sm::-webkit-file-upload-button {
2462
-  padding: 0.25rem 0.5rem;
2463
-  margin: -0.25rem -0.5rem;
2464
-  -webkit-margin-end: 0.5rem;
2465
-  margin-inline-end: 0.5rem;
2466
-}
2467
-
2468
 .form-control-sm::file-selector-button {
2432
 .form-control-sm::file-selector-button {
2469
   padding: 0.25rem 0.5rem;
2433
   padding: 0.25rem 0.5rem;
2470
   margin: -0.25rem -0.5rem;
2434
   margin: -0.25rem -0.5rem;
2471
-  -webkit-margin-end: 0.5rem;
2472
   margin-inline-end: 0.5rem;
2435
   margin-inline-end: 0.5rem;
2473
 }
2436
 }
2474
 
2437
 
2479
   border-radius: var(--bs-border-radius-lg);
2442
   border-radius: var(--bs-border-radius-lg);
2480
 }
2443
 }
2481
 
2444
 
2482
-.form-control-lg::-webkit-file-upload-button {
2483
-  padding: 0.5rem 1rem;
2484
-  margin: -0.5rem -1rem;
2485
-  -webkit-margin-end: 1rem;
2486
-  margin-inline-end: 1rem;
2487
-}
2488
-
2489
 .form-control-lg::file-selector-button {
2445
 .form-control-lg::file-selector-button {
2490
   padding: 0.5rem 1rem;
2446
   padding: 0.5rem 1rem;
2491
   margin: -0.5rem -1rem;
2447
   margin: -0.5rem -1rem;
2492
-  -webkit-margin-end: 1rem;
2493
   margin-inline-end: 1rem;
2448
   margin-inline-end: 1rem;
2494
 }
2449
 }
2495
 
2450
 
2641
   background-size: contain;
2596
   background-size: contain;
2642
   border: var(--bs-border-width) solid var(--bs-border-color);
2597
   border: var(--bs-border-width) solid var(--bs-border-color);
2643
   -webkit-print-color-adjust: exact;
2598
   -webkit-print-color-adjust: exact;
2644
-  color-adjust: exact;
2645
   print-color-adjust: exact;
2599
   print-color-adjust: exact;
2646
 }
2600
 }
2647
 
2601
 
5762
   --bs-toast-zindex:1090;
5716
   --bs-toast-zindex:1090;
5763
   position: absolute;
5717
   position: absolute;
5764
   z-index: var(--bs-toast-zindex);
5718
   z-index: var(--bs-toast-zindex);
5765
-  width: -webkit-max-content;
5766
   width: -moz-max-content;
5719
   width: -moz-max-content;
5767
   width: max-content;
5720
   width: max-content;
5768
   max-width: 100%;
5721
   max-width: 100%;
6391
   float: left;
6344
   float: left;
6392
   width: 100%;
6345
   width: 100%;
6393
   margin-right: -100%;
6346
   margin-right: -100%;
6394
-  -webkit-backface-visibility: hidden;
6395
   backface-visibility: hidden;
6347
   backface-visibility: hidden;
6396
   transition: transform 0.6s ease-in-out;
6348
   transition: transform 0.6s ease-in-out;
6397
 }
6349
 }
7230
 
7182
 
7231
 .link-primary {
7183
 .link-primary {
7232
   color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
7184
   color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
7233
-  -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
7234
   text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
7185
   text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
7235
 }
7186
 }
7236
 
7187
 
7237
 .link-primary:focus, .link-primary:hover {
7188
 .link-primary:focus, .link-primary:hover {
7238
   color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
7189
   color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
7239
-  -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
7240
   text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
7190
   text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
7241
 }
7191
 }
7242
 
7192
 
7243
 .link-secondary {
7193
 .link-secondary {
7244
   color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
7194
   color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
7245
-  -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
7246
   text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
7195
   text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
7247
 }
7196
 }
7248
 
7197
 
7249
 .link-secondary:focus, .link-secondary:hover {
7198
 .link-secondary:focus, .link-secondary:hover {
7250
   color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
7199
   color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
7251
-  -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
7252
   text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
7200
   text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
7253
 }
7201
 }
7254
 
7202
 
7255
 .link-success {
7203
 .link-success {
7256
   color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
7204
   color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
7257
-  -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
7258
   text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
7205
   text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
7259
 }
7206
 }
7260
 
7207
 
7261
 .link-success:focus, .link-success:hover {
7208
 .link-success:focus, .link-success:hover {
7262
   color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
7209
   color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
7263
-  -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
7264
   text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
7210
   text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
7265
 }
7211
 }
7266
 
7212
 
7267
 .link-info {
7213
 .link-info {
7268
   color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
7214
   color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
7269
-  -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
7270
   text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
7215
   text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
7271
 }
7216
 }
7272
 
7217
 
7273
 .link-info:focus, .link-info:hover {
7218
 .link-info:focus, .link-info:hover {
7274
   color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
7219
   color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
7275
-  -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
7276
   text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
7220
   text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
7277
 }
7221
 }
7278
 
7222
 
7279
 .link-warning {
7223
 .link-warning {
7280
   color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
7224
   color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
7281
-  -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
7282
   text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
7225
   text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
7283
 }
7226
 }
7284
 
7227
 
7285
 .link-warning:focus, .link-warning:hover {
7228
 .link-warning:focus, .link-warning:hover {
7286
   color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
7229
   color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
7287
-  -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
7288
   text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
7230
   text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
7289
 }
7231
 }
7290
 
7232
 
7291
 .link-danger {
7233
 .link-danger {
7292
   color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
7234
   color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
7293
-  -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
7294
   text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
7235
   text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
7295
 }
7236
 }
7296
 
7237
 
7297
 .link-danger:focus, .link-danger:hover {
7238
 .link-danger:focus, .link-danger:hover {
7298
   color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
7239
   color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
7299
-  -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
7300
   text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
7240
   text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
7301
 }
7241
 }
7302
 
7242
 
7303
 .link-light {
7243
 .link-light {
7304
   color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
7244
   color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
7305
-  -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
7306
   text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
7245
   text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
7307
 }
7246
 }
7308
 
7247
 
7309
 .link-light:focus, .link-light:hover {
7248
 .link-light:focus, .link-light:hover {
7310
   color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
7249
   color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
7311
-  -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
7312
   text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
7250
   text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
7313
 }
7251
 }
7314
 
7252
 
7315
 .link-dark {
7253
 .link-dark {
7316
   color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
7254
   color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
7317
-  -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
7318
   text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
7255
   text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
7319
 }
7256
 }
7320
 
7257
 
7321
 .link-dark:focus, .link-dark:hover {
7258
 .link-dark:focus, .link-dark:hover {
7322
   color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
7259
   color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
7323
-  -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
7324
   text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
7260
   text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
7325
 }
7261
 }
7326
 
7262
 
7327
 .link-body-emphasis {
7263
 .link-body-emphasis {
7328
   color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
7264
   color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
7329
-  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
7330
   text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
7265
   text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
7331
 }
7266
 }
7332
 
7267
 
7333
 .link-body-emphasis:focus, .link-body-emphasis:hover {
7268
 .link-body-emphasis:focus, .link-body-emphasis:hover {
7334
   color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
7269
   color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
7335
-  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
7336
   text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
7270
   text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
7337
 }
7271
 }
7338
 
7272
 
7345
   display: inline-flex;
7279
   display: inline-flex;
7346
   gap: 0.375rem;
7280
   gap: 0.375rem;
7347
   align-items: center;
7281
   align-items: center;
7348
-  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
7349
   text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
7282
   text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
7350
   text-underline-offset: 0.25em;
7283
   text-underline-offset: 0.25em;
7351
-  -webkit-backface-visibility: hidden;
7352
   backface-visibility: hidden;
7284
   backface-visibility: hidden;
7353
 }
7285
 }
7354
 
7286
 
7421
 }
7353
 }
7422
 
7354
 
7423
 .sticky-top {
7355
 .sticky-top {
7424
-  position: -webkit-sticky;
7425
   position: sticky;
7356
   position: sticky;
7426
   top: 0;
7357
   top: 0;
7427
   z-index: 1020;
7358
   z-index: 1020;
7428
 }
7359
 }
7429
 
7360
 
7430
 .sticky-bottom {
7361
 .sticky-bottom {
7431
-  position: -webkit-sticky;
7432
   position: sticky;
7362
   position: sticky;
7433
   bottom: 0;
7363
   bottom: 0;
7434
   z-index: 1020;
7364
   z-index: 1020;
7436
 
7366
 
7437
 @media (min-width: 576px) {
7367
 @media (min-width: 576px) {
7438
   .sticky-sm-top {
7368
   .sticky-sm-top {
7439
-    position: -webkit-sticky;
7440
     position: sticky;
7369
     position: sticky;
7441
     top: 0;
7370
     top: 0;
7442
     z-index: 1020;
7371
     z-index: 1020;
7443
   }
7372
   }
7444
   .sticky-sm-bottom {
7373
   .sticky-sm-bottom {
7445
-    position: -webkit-sticky;
7446
     position: sticky;
7374
     position: sticky;
7447
     bottom: 0;
7375
     bottom: 0;
7448
     z-index: 1020;
7376
     z-index: 1020;
7450
 }
7378
 }
7451
 @media (min-width: 768px) {
7379
 @media (min-width: 768px) {
7452
   .sticky-md-top {
7380
   .sticky-md-top {
7453
-    position: -webkit-sticky;
7454
     position: sticky;
7381
     position: sticky;
7455
     top: 0;
7382
     top: 0;
7456
     z-index: 1020;
7383
     z-index: 1020;
7457
   }
7384
   }
7458
   .sticky-md-bottom {
7385
   .sticky-md-bottom {
7459
-    position: -webkit-sticky;
7460
     position: sticky;
7386
     position: sticky;
7461
     bottom: 0;
7387
     bottom: 0;
7462
     z-index: 1020;
7388
     z-index: 1020;
7464
 }
7390
 }
7465
 @media (min-width: 992px) {
7391
 @media (min-width: 992px) {
7466
   .sticky-lg-top {
7392
   .sticky-lg-top {
7467
-    position: -webkit-sticky;
7468
     position: sticky;
7393
     position: sticky;
7469
     top: 0;
7394
     top: 0;
7470
     z-index: 1020;
7395
     z-index: 1020;
7471
   }
7396
   }
7472
   .sticky-lg-bottom {
7397
   .sticky-lg-bottom {
7473
-    position: -webkit-sticky;
7474
     position: sticky;
7398
     position: sticky;
7475
     bottom: 0;
7399
     bottom: 0;
7476
     z-index: 1020;
7400
     z-index: 1020;
7478
 }
7402
 }
7479
 @media (min-width: 1200px) {
7403
 @media (min-width: 1200px) {
7480
   .sticky-xl-top {
7404
   .sticky-xl-top {
7481
-    position: -webkit-sticky;
7482
     position: sticky;
7405
     position: sticky;
7483
     top: 0;
7406
     top: 0;
7484
     z-index: 1020;
7407
     z-index: 1020;
7485
   }
7408
   }
7486
   .sticky-xl-bottom {
7409
   .sticky-xl-bottom {
7487
-    position: -webkit-sticky;
7488
     position: sticky;
7410
     position: sticky;
7489
     bottom: 0;
7411
     bottom: 0;
7490
     z-index: 1020;
7412
     z-index: 1020;
7492
 }
7414
 }
7493
 @media (min-width: 1400px) {
7415
 @media (min-width: 1400px) {
7494
   .sticky-xxl-top {
7416
   .sticky-xxl-top {
7495
-    position: -webkit-sticky;
7496
     position: sticky;
7417
     position: sticky;
7497
     top: 0;
7418
     top: 0;
7498
     z-index: 1020;
7419
     z-index: 1020;
7499
   }
7420
   }
7500
   .sticky-xxl-bottom {
7421
   .sticky-xxl-bottom {
7501
-    position: -webkit-sticky;
7502
     position: sticky;
7422
     position: sticky;
7503
     bottom: 0;
7423
     bottom: 0;
7504
     z-index: 1020;
7424
     z-index: 1020;
7796
 }
7716
 }
7797
 
7717
 
7798
 .position-sticky {
7718
 .position-sticky {
7799
-  position: -webkit-sticky !important;
7800
   position: sticky !important;
7719
   position: sticky !important;
7801
 }
7720
 }
7802
 
7721
 
9059
 
8978
 
9060
 .link-underline-primary {
8979
 .link-underline-primary {
9061
   --bs-link-underline-opacity:1;
8980
   --bs-link-underline-opacity:1;
9062
-  -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
9063
   text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
8981
   text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
9064
 }
8982
 }
9065
 
8983
 
9066
 .link-underline-secondary {
8984
 .link-underline-secondary {
9067
   --bs-link-underline-opacity:1;
8985
   --bs-link-underline-opacity:1;
9068
-  -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
9069
   text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
8986
   text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
9070
 }
8987
 }
9071
 
8988
 
9072
 .link-underline-success {
8989
 .link-underline-success {
9073
   --bs-link-underline-opacity:1;
8990
   --bs-link-underline-opacity:1;
9074
-  -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
9075
   text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
8991
   text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
9076
 }
8992
 }
9077
 
8993
 
9078
 .link-underline-info {
8994
 .link-underline-info {
9079
   --bs-link-underline-opacity:1;
8995
   --bs-link-underline-opacity:1;
9080
-  -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
9081
   text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
8996
   text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
9082
 }
8997
 }
9083
 
8998
 
9084
 .link-underline-warning {
8999
 .link-underline-warning {
9085
   --bs-link-underline-opacity:1;
9000
   --bs-link-underline-opacity:1;
9086
-  -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
9087
   text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
9001
   text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
9088
 }
9002
 }
9089
 
9003
 
9090
 .link-underline-danger {
9004
 .link-underline-danger {
9091
   --bs-link-underline-opacity:1;
9005
   --bs-link-underline-opacity:1;
9092
-  -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
9093
   text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
9006
   text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
9094
 }
9007
 }
9095
 
9008
 
9096
 .link-underline-light {
9009
 .link-underline-light {
9097
   --bs-link-underline-opacity:1;
9010
   --bs-link-underline-opacity:1;
9098
-  -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
9099
   text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
9011
   text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
9100
 }
9012
 }
9101
 
9013
 
9102
 .link-underline-dark {
9014
 .link-underline-dark {
9103
   --bs-link-underline-opacity:1;
9015
   --bs-link-underline-opacity:1;
9104
-  -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
9105
   text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
9016
   text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
9106
 }
9017
 }
9107
 
9018
 
9108
 .link-underline {
9019
 .link-underline {
9109
   --bs-link-underline-opacity:1;
9020
   --bs-link-underline-opacity:1;
9110
-  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
9111
   text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
9021
   text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
9112
 }
9022
 }
9113
 
9023
 
12834
 .swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
12744
 .swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
12835
   max-width: 100%;
12745
   max-width: 100%;
12836
   max-height: 100%;
12746
   max-height: 100%;
12837
-  object-fit: contain;
12747
+  -o-object-fit: contain;
12748
+     object-fit: contain;
12838
 }
12749
 }
12839
 
12750
 
12840
 .swiper-slide-zoomed {
12751
 .swiper-slide-zoomed {
12903
 
12814
 
12904
 .swiper-container-cube .swiper-slide {
12815
 .swiper-container-cube .swiper-slide {
12905
   pointer-events: none;
12816
   pointer-events: none;
12906
-  -webkit-backface-visibility: hidden;
12907
   backface-visibility: hidden;
12817
   backface-visibility: hidden;
12908
   z-index: 1;
12818
   z-index: 1;
12909
   visibility: hidden;
12819
   visibility: hidden;
12931
 
12841
 
12932
 .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
12842
 .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
12933
   z-index: 0;
12843
   z-index: 0;
12934
-  -webkit-backface-visibility: hidden;
12935
   backface-visibility: hidden;
12844
   backface-visibility: hidden;
12936
 }
12845
 }
12937
 
12846
 
12943
   height: 100%;
12852
   height: 100%;
12944
   background: #000;
12853
   background: #000;
12945
   opacity: 0.6;
12854
   opacity: 0.6;
12946
-  -webkit-filter: blur(50px);
12947
   filter: blur(50px);
12855
   filter: blur(50px);
12948
   z-index: 0;
12856
   z-index: 0;
12949
 }
12857
 }
12954
 
12862
 
12955
 .swiper-container-flip .swiper-slide {
12863
 .swiper-container-flip .swiper-slide {
12956
   pointer-events: none;
12864
   pointer-events: none;
12957
-  -webkit-backface-visibility: hidden;
12958
   backface-visibility: hidden;
12865
   backface-visibility: hidden;
12959
   z-index: 1;
12866
   z-index: 1;
12960
 }
12867
 }
12969
 
12876
 
12970
 .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
12877
 .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
12971
   z-index: 0;
12878
   z-index: 0;
12972
-  -webkit-backface-visibility: hidden;
12973
   backface-visibility: hidden;
12879
   backface-visibility: hidden;
12974
 }
12880
 }
12975
 
12881
 
14073
 .video__frame {
13979
 .video__frame {
14074
   width: 101%;
13980
   width: 101%;
14075
   height: 101%;
13981
   height: 101%;
14076
-  backdrop-filter: blur(0.2em);
13982
+  -webkit-backdrop-filter: blur(0.2em);
13983
+          backdrop-filter: blur(0.2em);
14077
   background-color: rgba(255, 255, 255, 0.7);
13984
   background-color: rgba(255, 255, 255, 0.7);
14078
 }
13985
 }
14079
 .video__icon {
13986
 .video__icon {
14211
   border-color: transparent rgba(255, 255, 255, 0.5) transparent rgba(255, 255, 255, 0.5);
14118
   border-color: transparent rgba(255, 255, 255, 0.5) transparent rgba(255, 255, 255, 0.5);
14212
   animation: rotate-loading 1.5s linear 0s infinite normal;
14119
   animation: rotate-loading 1.5s linear 0s infinite normal;
14213
   transform-origin: 50% 50%;
14120
   transform-origin: 50% 50%;
14214
-  -webkit-transition: all 0.5s ease-in-out;
14215
-  -moz-transition: all 0.5s ease-in-out;
14216
-  -ms-transition: all 0.5s ease-in-out;
14217
-  -o-transition: all 0.5s ease-in-out;
14218
   transition: all 0.5s ease-in-out;
14121
   transition: all 0.5s ease-in-out;
14219
 }
14122
 }
14220
 .loading__text {
14123
 .loading__text {
14269
   }
14172
   }
14270
 }
14173
 }
14271
 
14174
 
14175
+@keyframes mypulse {
14176
+  0% {
14177
+    box-shadow: 0 0 0 0 #0699d2;
14178
+  }
14179
+}
14180
+.popup {
14181
+  position: fixed;
14182
+  top: 0;
14183
+  left: 0;
14184
+  width: 100%;
14185
+  height: 100%;
14186
+  display: flex;
14187
+  justify-content: center;
14188
+  align-items: center;
14189
+  z-index: 9000;
14190
+}
14191
+.popup__baclground {
14192
+  position: absolute;
14193
+  top: 0;
14194
+  left: 0;
14195
+  width: 100%;
14196
+  height: 100%;
14197
+  background-color: rgba(255, 255, 255, 0.5);
14198
+  filter: blur(0.3125em);
14199
+}
14200
+.popup__body {
14201
+  position: relative;
14202
+  width: 47.5em;
14203
+  padding: 4.375em 1.875em 1.875em 1.875em;
14204
+  background: white;
14205
+  box-shadow: 0 0 0.625em rgba(0, 0, 0, 0.5);
14206
+  border-radius: 0.75em;
14207
+}
14208
+@media screen and (max-width: 992px) {
14209
+  .popup__body {
14210
+    width: 50em;
14211
+  }
14212
+}
14213
+.popup .ic-cross {
14214
+  display: block;
14215
+  position: absolute;
14216
+  top: 1.25em;
14217
+  right: 1.25em;
14218
+  width: 2em;
14219
+  height: 2em;
14220
+}
14221
+.popup .ic-cross img {
14222
+  width: 100%;
14223
+  height: 100%;
14224
+  -o-object-fit: contain;
14225
+     object-fit: contain;
14226
+  -o-object-position: center;
14227
+     object-position: center;
14228
+}
14229
+.popup .text-title {
14230
+  color: #0070a0;
14231
+  text-align: center;
14232
+  font-size: 2em;
14233
+  font-weight: 500;
14234
+  line-height: 1.5;
14235
+}
14236
+.popup .text {
14237
+  color: #0699d2;
14238
+  font-size: 1.5em;
14239
+  font-weight: 300;
14240
+  text-align: center;
14241
+  line-height: 1.5;
14242
+  letter-spacing: 0.2em;
14243
+  margin-top: 1.25em;
14244
+}
14245
+@media screen and (max-width: 992px) {
14246
+  .popup .text {
14247
+    font-size: 1.8em;
14248
+  }
14249
+}
14250
+.popup .button-group {
14251
+  display: flex;
14252
+  justify-content: center;
14253
+  align-items: center;
14254
+  width: 42.5em;
14255
+  margin-left: auto;
14256
+  margin-right: auto;
14257
+  margin-top: 3.75em;
14258
+}
14259
+.popup .button-primary {
14260
+  display: inline-block;
14261
+  border-radius: 1.5em;
14262
+  padding: 0.6em 1em;
14263
+  box-shadow: 0 0 0 1em transparent;
14264
+  background-color: #0699d2;
14265
+  cursor: pointer;
14266
+  text-decoration: none;
14267
+  margin-left: 0.625em;
14268
+  margin-right: 0.625em;
14269
+}
14270
+.popup .button-primary:hover {
14271
+  animation: mypulse 1.5s infinite;
14272
+}
14273
+.popup .button-primary p {
14274
+  text-align: center;
14275
+  font-size: 1.2em;
14276
+  font-weight: 400;
14277
+  color: #ffffff;
14278
+}
14279
+@media screen and (max-width: 992px) {
14280
+  .popup .button-primary p {
14281
+    font-size: 1.6em;
14282
+  }
14283
+}
14284
+
14272
 .expert {
14285
 .expert {
14273
   position: relative;
14286
   position: relative;
14274
 }
14287
 }
14648
   align-items: stretch;
14661
   align-items: stretch;
14649
 }
14662
 }
14650
 .history__timeline .swiper-slide {
14663
 .history__timeline .swiper-slide {
14664
+  width: -moz-fit-content;
14651
   width: fit-content;
14665
   width: fit-content;
14652
 }
14666
 }
14653
 .history__timeline .swiper-slide:first-child .history__timeline__item {
14667
 .history__timeline .swiper-slide:first-child .history__timeline__item {

+ 1
- 1
src/fe/mrna/css/all.css.map
文件差異過大導致無法顯示
查看文件


+ 1
- 0
src/fe/mrna/css/all.scss 查看文件

25
 @import "component/video";
25
 @import "component/video";
26
 @import "component/swiper";
26
 @import "component/swiper";
27
 @import "component/loading";
27
 @import "component/loading";
28
+@import "component/popup";
28
 
29
 
29
 // 區塊section
30
 // 區塊section
30
 @import "section/expert";
31
 @import "section/expert";

+ 113
- 0
src/fe/mrna/css/component/_popup.scss 查看文件

1
+@keyframes mypulse {
2
+  0% {
3
+    box-shadow: 0 0 0 0 #0699d2;
4
+  }
5
+}
6
+
7
+.popup {
8
+  position: fixed;
9
+  top: 0;
10
+  left: 0;
11
+  width: 100%;
12
+  height: 100%;
13
+  display: flex;
14
+  justify-content: center;
15
+  align-items: center;
16
+  z-index: 9000;
17
+
18
+  &__baclground {
19
+    position: absolute;
20
+    top: 0;
21
+    left: 0;
22
+    width: 100%;
23
+    height: 100%;
24
+    background-color: rgba(255,255,255,0.5);
25
+    filter: blur(em(5));
26
+  }
27
+  
28
+  &__body {
29
+    position: relative;
30
+    width: em(760);
31
+    padding: em(70) em(30) em(30) em(30);
32
+    background: white;
33
+    box-shadow: 0 0 em(10) rgba(0,0,0,0.5);
34
+    border-radius: em(12);
35
+    @media screen and (max-width: 992px) {
36
+      width: em(800);
37
+    }
38
+  }
39
+
40
+  .ic-cross {
41
+    display: block;
42
+    position: absolute;
43
+    top: em(20);
44
+    right: em(20);
45
+    width: em(32);
46
+    height: em(32);
47
+
48
+    img {
49
+      width: 100%;
50
+      height: 100%;
51
+      object-fit: contain;
52
+      object-position: center;
53
+    }
54
+  }
55
+  
56
+  .text-title {
57
+    color: #0070a0;
58
+    text-align: center;
59
+    font-size: 2em;
60
+    font-weight: 500;
61
+    line-height: 1.5;
62
+  }
63
+
64
+  .text {
65
+    color: #0699d2;
66
+    font-size: 1.5em;
67
+    font-weight: 300;
68
+    text-align: center;
69
+    line-height: 1.5;
70
+    letter-spacing: 0.2em;
71
+    margin-top: em(20);
72
+    @media screen and (max-width: 992px) {
73
+      font-size: 1.8em;
74
+    }
75
+  }
76
+
77
+  .button-group {
78
+    display: flex;
79
+    justify-content: center;
80
+    align-items: center;
81
+    width: em(680);
82
+    margin-left: auto;
83
+    margin-right: auto;
84
+    margin-top: em(60);
85
+  }
86
+
87
+  .button-primary {
88
+    display: inline-block;
89
+    border-radius: 1.5em;
90
+    padding: 0.6em 1em;
91
+    box-shadow: 0 0 0 1em transparent;
92
+    background-color: #0699d2;
93
+    cursor: pointer;
94
+    text-decoration: none;
95
+    margin-left: em(10);
96
+    margin-right: em(10);
97
+
98
+    &:hover {
99
+      animation: mypulse 1.5s infinite;
100
+    }
101
+
102
+    p {
103
+      text-align: center;
104
+      font-size: 1.2em;
105
+      font-weight: 400;
106
+      color: #ffffff;
107
+      @media screen and (max-width: 992px) {
108
+        font-size: 1.6em;
109
+      }
110
+    }
111
+  }
112
+
113
+}

二進制
src/fe/mrna/images/rearch-popup/cross-gray.png 查看文件


+ 23
- 0
src/fe/mrna/index.html 查看文件

652
         <p>TW-COV-2300085, Oct 2023</p>
652
         <p>TW-COV-2300085, Oct 2023</p>
653
       </div> -->
653
       </div> -->
654
     </footer>
654
     </footer>
655
+
656
+    <div class="popup popup-alert">
657
+      <div class="popup__baclground"></div>
658
+      <div class="popup__body">
659
+        <h2 class="text-title">疫苗接種是幫助控制 COVID-19 的一種關鍵方法</h2>
660
+        <p class="text">即刻了解並查詢接種院所資訊</p>
661
+        <div class="button-group">
662
+          <a class="button-primary" data-gaEvent-category="popup" data-gaEvent-label="搜尋醫療院所"
663
+            href="https://pse.is/5gsrfp" target="_blank">
664
+            <p>搜尋醫療院所</p>
665
+          </a>
666
+          <a class="button-primary" data-gaEvent-category="popup" data-gaEvent-label="疫苗隨到隨打"
667
+            href="https://pse.is/5gsrrx" target="_blank">
668
+            <p>疫苗隨到隨打</p>
669
+          </a>
670
+        </div>
671
+        <i class="ic-cross">
672
+          <img src="./images/rearch-popup/cross-gray.png" alt="cross" />
673
+        </i>
674
+      </div>
675
+    </div>
676
+
655
   </div>
677
   </div>
656
 
678
 
657
   <div class="modal modal-research modal-proud fade" id="proudModal" tabindex="-1" aria-labelledby="proudModalLabel"
679
   <div class="modal modal-research modal-proud fade" id="proudModal" tabindex="-1" aria-labelledby="proudModalLabel"
1191
   <script src="js/ga.js"></script>
1213
   <script src="js/ga.js"></script>
1192
   <script type="module" src="js/ViewModel.js"></script>
1214
   <script type="module" src="js/ViewModel.js"></script>
1193
   <script src="js/main.js"></script>
1215
   <script src="js/main.js"></script>
1216
+  <script src="js/popup.js"></script>
1194
 
1217
 
1195
   <!-- <script src="./lib/vconsole.min.js"></script>
1218
   <!-- <script src="./lib/vconsole.min.js"></script>
1196
 
1219
 

+ 7
- 0
src/fe/mrna/js/popup.js 查看文件

1
+((window, document) => {
2
+  const el = document.querySelector('.popup-alert');
3
+  const cross = document.querySelector('.popup-alert .ic-cross');
4
+  cross.addEventListener('click', () => {
5
+    el.remove();
6
+  });
7
+})(window, document);