// 右上角带关闭按钮的弹窗提示 ; 需要外包一层load-mask .friendly-dialog { position: absolute; text-align: center; color: #888; z-index: 100; min-height: 100px; width: 80%; background: #fff; border-radius: 5px; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); } .friendly-dialog-body { padding: 15px 10px; overflow-y: auto; } .friendly-dialog-footer { padding: 5px 10px 15px 10px; } .friendly-dialog-close { position: absolute; text-align: center; top: -20px; right: -20px; width: 24px; line-height: 24px; font-size: 20px; color: #fff; z-index: 101; } /*************自定义遮罩层****************************/ .load-mask { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1002; background-color: rgba(0, 0, 0, .4); -webkit-transition-duration: 600ms; transition-duration: 600ms; display: block; opacity: 0; &.absolute { position: absolute; .loader-inner { position: absolute; } } } .load-mask.active { opacity: 1; } .load-mask.dark { background-color: rgba(0, 0, 0, .8); } .loader-inner { display: table; position: fixed; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); text-align: center; } .loader-inner > span { color: #fff; font-size: 15px; display: block; } @-webkit-keyframes scale { 0% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } 45% { -webkit-transform: scale(0.1); transform: scale(0.1); opacity: 0.7; } 80% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } @keyframes scale { 0% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } 45% { -webkit-transform: scale(0.1); transform: scale(0.1); opacity: 0.7; } 80% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } .ball-pulse > div:nth-child(0) { -webkit-animation: scale 0.75s 0s infinite cubic-bezier(.2, .68, .18, 1.08); animation: scale 0.75s 0s infinite cubic-bezier(.2, .68, .18, 1.08); } .ball-pulse > div:nth-child(1) { -webkit-animation: scale 0.75s 0.12s infinite cubic-bezier(.2, .68, .18, 1.08); animation: scale 0.75s 0.12s infinite cubic-bezier(.2, .68, .18, 1.08); } .ball-pulse > div:nth-child(2) { -webkit-animation: scale 0.75s 0.24s infinite cubic-bezier(.2, .68, .18, 1.08); animation: scale 0.75s 0.24s infinite cubic-bezier(.2, .68, .18, 1.08); } .ball-pulse > div:nth-child(3) { -webkit-animation: scale 0.75s 0.36s infinite cubic-bezier(.2, .68, .18, 1.08); animation: scale 0.75s 0.36s infinite cubic-bezier(.2, .68, .18, 1.08); } .ball-pulse > div { background-color: #fff; width: 15px; height: 15px; border-radius: 100%; margin: 2px; -webkit-animation-fill-mode: both; animation-fill-mode: both; display: inline-block; } /************遮罩层end*******************************/ /**自定义弹窗、弹窗背景***/ //msgPopup函数用到 .backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 999; display: none; background-color: rgba(0, 0, 0, .4); -webkit-transition-duration: 400ms; transition-duration: 400ms; opacity: 0 } .backdrop.active { display: block; opacity: 1 } /***修改版的mui弹窗,z-index高***/ .popup { position: fixed; top: 50%; left: 50%; z-index: 2000; display: none; width: 270px; color: #000; text-align: center; background-color: #fff; border-radius: 4px; -webkit-transition-property: -webkit-transform, opacity; transition-property: transform, opacity; -webkit-transform: translate3d(-50%, -50%, 0) scale(1.185); transform: translate3d(-50%, -50%, 0) scale(1.185); opacity: 0 } .popup.popup-in { display: block; -webkit-transition-duration: 400ms; transition-duration: 400ms; -webkit-transform: translate3d(-50%, -50%, 0) scale(1); transform: translate3d(-50%, -50%, 0) scale(1); opacity: 1 } .popup-inner { position: relative; padding: 15px; border-radius: 4px 4px 0 0 } .popup-inner:after { position: absolute; top: auto; right: auto; bottom: 0; left: 0; z-index: 15; display: block; width: 100%; height: 1px; content: ''; background-color: rgba(0, 0, 0, .2); -webkit-transform: scaleY(.5); transform: scaleY(.5); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } .popup-title { font-size: 18px; font-weight: 500; text-align: center } .popup-title + .popup-text { font-family: inherit; font-size: 14px; margin: 5px 0 0 } .popup-buttons { position: relative; display: -webkit-box; display: -webkit-flex; display: flex; height: 44px; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center } .popup-button { position: relative; display: block; box-sizing: border-box; width: 100%; height: 44px; padding: 0 5px; overflow: hidden; color: $default-color; font-size: 17px; line-height: 44px; text-align: center; white-space: nowrap; text-overflow: ellipsis; cursor: pointer; background: rgba(255, 255, 255, .95); -webkit-box-flex: 1; -webkit-flex: 1; flex: 1; } .popup-button:first-child:last-child { border-radius: 0 0 4px 4px } /***用户通知****/ .notification { background: rgba(0, 0, 0, .4); position: fixed; top: 0; left: 0; width: 100%; line-height: 24px; z-index: 99; color: #fff; font-size: 14px; padding: 0 6px; } .notification-text { display: block; white-space: nowrap; text-align: center; width: 100%; } .shine-text { -webkit-background-clip: text; /*按文字裁剪*/ -webkit-text-fill-color: transparent; /*文字的颜色使用背景色*/ background-blend-mode: hard-light; /*设置背景为混合模式下的强光模式*/ background-size: 200%; -webkit-animation: shine 2s infinite linear; /*给背景添加动画改变位置*/ animation: shine 2s infinite linear; } .shine-white-red { background-color: #fff; background-image: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 0.8) 30%, $default-color-red 50%, rgba(255, 255, 255, 0.8) 70%); background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 30%, $default-color-red 50%, rgba(255, 255, 255, 0.8) 70%); } .shine-white-black { background-color: #fff; background-image: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 0.6) 30%, #000 50%, rgba(255, 255, 255, 0.6) 70%); background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.6) 30%, #000 50%, rgba(255, 255, 255, 0.6) 70%); } .shine-gray-gold { background-color: #666; background-image: -webkit-linear-gradient(90deg, rgba(102, 102, 102, 0.6) 30%, $default-color-lgreen 50%, rgba(102, 102, 102, 0.6) 70%); background-image: linear-gradient(90deg, rgba(102, 102, 102, 0.6) 30%, $default-color-lgreen 50%, rgba(102, 102, 102, 0.6) 70%); } @-webkit-keyframes shine { 0% { background-position: 150%; } 10% { background-position: 150%; } 50% { background-position: 50%; } 90% { background-position: -50%; } 100% { background-position: -50%; } } @keyframes shine { 0% { background-position: 150%; } 10% { background-position: 150%; } 50% { background-position: 50%; } 90% { background-position: -50%; } 100% { background-position: -50%; } } /**图片上传***/ .upload-pic { position: relative; margin-right: 5px; text-align: center; border: 1px solid #e5e5e5; width: 82px; height: 82px; border-radius: 2px; } .upload-pic input[type="file"] { position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background-color: transparent; border-radius: 8px; opacity: 0; } .upload-pic img { width: 100%; height: 100%; border-radius: 3px; position: absolute; left: 0; top: 0; z-index: 2; } .upload-pic .delpic { position: absolute; top: -5px; right: -5px; z-index: 3; width: 20px; height: 20px; color: #fff; text-align: center; line-height: 1; background-color: $default-color-red; border-radius: 100%; } .upload-pic .iconfont { position: absolute; top: 50%; left: 50%; color: #d8d8d8; font-size: 48px; -webkit-transform: translate3d(-50%, -50%, 0); transform: translate3d(-50%, -50%, 0); } .upload-des { margin-top: 5px; margin-bottom: 0; text-align: center; } /**充值卡管理**/ .card-manage .mui-content { background: transparent; } .card-manage .card-detail .mui-table-view-cell.mui-active { background: #fff; } .card-manage .group-wrap { padding: 0 0; } .card-manage .card-detail { border-radius: 2px; box-shadow: 0 0 10px #ccc; &.mui-table-view:before, &.mui-table-view:after { display: none; } .expand-info { display: none; margin-top: 5px; } .expand-info p > span { max-width: 70%; word-break: break-all; } &.active .expand-info { display: block; position: relative; .title { max-width: 30%; display: inline-block; } p { padding: 5px 0; margin: 0; font-size: 14px; color: #000; overflow: hidden; position: relative; } } .expand-info.mui-navigate-right { padding-right: 10px; } .expand-info.mui-navigate-right:after { right: -10px; font-size: 20px; opacity: .68; } &.active { border-radius: 6px; } .iconCard { font-size: 100px; line-height: 100px; position: absolute; opacity: .05; left: 50px; top: 60%; -webkit-transform: translateY(-50%); transform: translateY(-50%); pointer-events: none; } } .card-dashed-line, .split-line { position: relative; } .card-dashed-line { padding-bottom: 0; } .active .card-dashed-line { padding-bottom: 5px; } .active .card-dashed-line:after, .active .split-line:after { content: ''; border-bottom: 1px solid #eee; position: absolute; bottom: 0; left: -14px; right: -14px; } .active .split-line:after { top: 0; bottom: auto; right: 0; left: 0; } .record-type-row { padding-top: 6px; padding-left: 10px; } .btn-outlined-check { color: #999; margin-right: 8px; } .btn-outlined-check.active { border: 1px solid $default-color; color: $default-color; } /***过滤筛选样式***/ .filter-btn, .in-row-btn { color: #666; line-height: 44px; text-align: right; white-space: nowrap; display: inline-block; padding: 0 6px; font-size: 14px; .icon-triangle-up { -webkit-transform: rotate(-180deg) scale(.5); transform: rotate(-180deg) scale(.5); display: inline-block; vertical-align: middle; color: #aaa; } &active { .icon-triangle-up { -webkit-transform: rotate(0deg) scale(.5); transform: rotate(0deg) scale(.5); color: $default-color; } } } .filter-btn:last-child, .in-row-btn:last-child { padding-right: 10px; } .filter-btn span { vertical-align: middle; } .active.filter-btn { color: $default-color; } .filter-blank { line-height: 44px; padding-left: 15px; } .filter-list-mask { position: fixed; z-index: 11 !important; top: 54px; bottom: 0; width: 100%; background: rgba(0, 0, 0, .6) } .filter-panel { position: absolute; background: #fff; width: 100%; z-index: 12; top: 43px; } .filter-panel > * { z-index: 12; } .filter-panel-btn { height: 48px; text-align: center; line-height: 48px; } .filter-panel-btn .cancel-btn { color: $default-color; background: rgba($default-color, .1); } .filter-panel-btn .ok-btn { color: #fff; background: $default-color; } .clear-b-border { border-bottom: none !important; } .clear-b-border:after { height: 0; } .custom-border-fir { border-bottom: 1px solid #e5e5e5; } /*充值、 充卡*/ .topup { position: fixed; left: 0; bottom: 0; z-index: 102; width: 100%; background-color: #fff; -webkit-transform: translate(0, 100%); transform: translate(0, 100%); -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; transition: transform .3s; transition: transform .3s, -webkit-transform .3s } .topup { -webkit-transform: translate(0, 110%); transform: translate(0, 110%) } .topup.show { -webkit-transform: translate(0, 0); transform: translate(0, 0) } /********************************充值面板列表相关********************************************/ .topup-guide { position: relative; padding: 10px; font-size: 14px; background-color: #eee } .topup-guide .guide-tip { color: $default-color-red; font-size: .32rem; text-align: center } .topup-guide strong { padding: .05rem .3rem; font-weight: 400; color: #fff; background-color: $default-color-red; border-radius: 3px; margin-top: .1rem; display: inline-block; } .topup-guide .iconfont { position: absolute; top: 5px; right: 5px; width: 30px; height: 30px; color: #aaa; font-size: 24px; text-align: center; line-height: 30px } .topup-title { padding: 10px 10px 0 } .topup-bd { max-height: 240px; padding: 5px; background-color: #fff; overflow-y: auto; -webkit-overflow-scrolling: touch } .topup-bd li { float: left; width: 33.333333%; padding: 5px; text-align: center } .topup-bd .cell { position: relative; width: 100%; height: 60px; color: $wechat-color; border: 1px solid $wechat-color; border-radius: 6px } .topup-bd .cell section { position: absolute; top: 50%; left: 50%; width: 100%; -webkit-transform: translate3d(-50%, -50%, 0); transform: translate3d(-50%, -50%, 0); font-size: 13px; } .topup-bd .cell span { display: block; font-size: 15px } .topup-tip { padding: 10px 5px; text-align: center; margin-bottom: 0; } .topup-tip:before, .topup-tip:after { content: ""; display: inline-block; background: #aaa; height: 1px; width: 1.5em; vertical-align: middle; -webkit-transform: scaleY(0.5); transform: scaleY(0.5); margin-top: -2px; } .topup-tip:before { margin-right: .5em; } .topup-tip:after { margin-left: .5em; } /**********附加参数面板***********/ .device-para-grid-title { font-size: 14px; line-height: 30px; color: #666; } .device-para-row { text-align: center; position: relative; color: #333; padding: 0 12px; .icon-refresh { position: absolute; left: 0; top: 0; width: 100%; height: 100%; line-height: 30px; z-index: 1; + span { filter: blur(1px); } } &:after { content: " "; position: absolute; left: 12px; bottom: 0; right: 12px; height: 1px; border-bottom: 1px solid #E5E5E5; color: #E5E5E5; transform-origin: 0 100%; transform: scaleY(0.333); } } .device-para-row:last-child { margin-bottom: 0; } .device-para-grid .para-item { border-radius: 4px; color: #051B28; float: left; margin-bottom: 10px; font-size: 13px; position: relative; background: #F5F5F5; border: 1px solid transparent; height: 32px; line-height: 32px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: calc(25% - 7.6px); margin-right: 10px; } .device-para-grid .para-item:nth-child(4n) { margin-right: 0; } .device-para-grid .para-item.active { background: #fff; } // 表单提交时,通用底部按钮 .handleBtn { position: fixed; bottom: 0; width: 100%; padding: .5em; z-index: 3; background: #fff; button { font-size: 16px; padding: 6px; } } /* ********** * common 主要是表单提交按钮 * **********/ /*buttons area*/ .custom-fixed-b { position: fixed; bottom: 0; left: 0; z-index: 10; width: 100%; background-color: #efeff4; } .custom-subt { margin-top: 1.25em; margin-bottom: 1em; padding-left: 20px; padding-right: 20px; } .custom-subt input[type='button'] { padding: 11px; color: #fff; font-size: 16px; border: 0; background-color: $default-color; } .subt { margin-top: 1.5em; margin-bottom: 1em; padding-left: 1em; padding-right: 1em; } .subt a { display: inline-block; width: 100%; padding: 10px 12px; color: $default-color; border: 1px solid $default-color; border-radius: 4px; } .subt input[type='button'], .subt input[type='submit'] { padding: 10px 12px; color: #fff; font-size: 16px; border: 0; background-color: $default-color; } .custom-btn-area { padding: 1.25em 20px 1em; } .custom-btn-area .custom-btn + .custom-btn { margin-top: 15px; } .custom-btn { position: relative; display: block; padding-top: 11px; padding-bottom: 11px; text-align: center; border-radius: 5px; } .custom-btn:after { position: absolute; top: 0; left: 0; content: " "; width: 200%; height: 200%; border: .6px solid rgba(0, 0, 0, .2); border-radius: 10px; -webkit-transform: scale(.5); transform: scale(.5); -webkit-transform-origin: 0 0; transform-origin: 0 0; box-sizing: border-box; } .custom-btn-primary, .custom-btn-primary:active { color: #fff; background-color: $default-color; } .custom-btn-default, .custom-btn-default:active, .custom-btn-vertical:active { color: #000; background-color: #fff; } .custom-btn-vertical { display: inline-block; width: 100%; padding-top: 11px; padding-bottom: 11px; text-align: center; background-color: #fff; border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; border-radius: 0; } .custom-btn-vertical.warn { color: $default-color-red; } .custom-margin .custom-btn-vertical ~ .custom-btn-vertical { border-top: 0; } //翻页插件样式 .scrollload-bottom { color: #888; } //纤细的线条,使用before和after实现,如果元素本身占用,则不要用 .custom-border-top:before { position: absolute; right: 0; left: 0; height: 1px; content: ''; transform: scaleY(.5); background-color: #c8c7cc; top: -1px; } .custom-border-bottom:after { position: absolute; right: 0; left: 0; height: 1px; content: ''; transform: scaleY(.5); background-color: #c8c7cc; bottom: -1px; } // 在高分辨率屏幕上的线条 @media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) { .custom-border-top:before { transform: scaleY(.333); } .custom-border-bottom:after { transform: scaleY(.333); } } // 分割线 .line-t, .line-b, .line-l, .line-r { position: relative } .line-t:before { position: absolute; top: 0; left: 0; width: 100%; height: 1px; content: ''; background-color: #e5e5e5; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: scaleY(.5); transform: scaleY(.5) } .line-b:after { position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; content: ''; background-color: #e5e5e5; -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: scaleY(.5); transform: scaleY(.5) } .line-l:before { position: absolute; top: 50%; left: 0; width: 1px; height: 100%; content: ''; background-color: #e5e5e5; -webkit-transform: translateY(-50%) scaleY(.5); transform: translateY(-50%) scaleY(.5) } .line-r:after { position: absolute; top: 50%; right: 0; width: 1px; height: 100%; content: ''; background-color: #e5e5e5; -webkit-transform: translateY(-50%) scaleY(.5); transform: translateY(-50%) scaleY(.5) }