UNPKG

cloud-ui.vusion

Version:
126 lines (113 loc) 3.89 kB
/* @TODO: 使用简化扩展方案 */ $popup-background-color: white; $popup-background-head-color: white; $popup-border-color: $brand-secondary; $popup-arrow-size: 8px; $popup-outer-arrow-size: calc($popup-arrow-size + 1px); $popup-arrow-offset: 16px; .root { position: relative; min-width: 140px; background: $popup-background-color; border: 1px solid $popup-border-color; z-index: $z-index-popper; } .head { padding: 6px 10px; background: $popup-background-head-color; border-bottom: 1px solid $popup-border-color; } .title { font-weight: bold; } .body { padding: 6px 10px; } .foot { border-top: 1px solid $popup-border-color; padding: 6px 10px; } .arrow { display: block; position: absolute; border: $popup-arrow-size solid transparent; } .arrow::before { content: ''; display: block; position: absolute; z-index: -1; border: $popup-outer-arrow-size solid transparent; } .root[x-placement^="top"] { margin-bottom: $popup-arrow-size; } .root[x-placement^="top"] .arrow { bottom: -$popup-arrow-size; margin-left: -$popup-arrow-size; border-width: $popup-arrow-size $popup-arrow-size 0; border-top-color: $popup-background-color; } .root[x-placement^="top"] .arrow::before { bottom: -1px; left: -1px; margin-left: -$popup-arrow-size; border-width: $popup-outer-arrow-size $popup-outer-arrow-size 0; border-top-color: $popup-border-color; } .root[x-placement="top-start"] .arrow { left: $popup-arrow-offset; } .root[x-placement="top"] .arrow { left: 50%; } .root[x-placement="top-end"] .arrow { right: $popup-arrow-offset; } .root[x-placement^="bottom"] { margin-top: $popup-arrow-size; } .root[x-placement^="bottom"] .arrow { top: -$popup-arrow-size; margin-left: -$popup-arrow-size; border-width: 0 $popup-arrow-size $popup-arrow-size; border-bottom-color: $popup-background-color; } .root[x-placement^="bottom"] .arrow::before { top: -1px; left: -1px; margin-left: -$popup-arrow-size; border-width: 0 $popup-outer-arrow-size $popup-outer-arrow-size; border-bottom-color: $popup-border-color; } .root[x-placement="bottom-start"] .arrow { left: $popup-arrow-offset; } .root[x-placement="bottom"] .arrow { left: 50%; } .root[x-placement="bottom-end"] .arrow { right: $popup-arrow-offset; } .root[x-placement^="left"] { margin-right: $popup-arrow-size; } .root[x-placement^="left"] .arrow { right: -$popup-arrow-size; margin-top: -$popup-arrow-size; border-width: $popup-arrow-size 0 $popup-arrow-size $popup-arrow-size; border-left-color: $popup-background-color; } .root[x-placement^="left"] .arrow::before { top: -1px; right: -1px; margin-top: -$popup-arrow-size; border-width: $popup-outer-arrow-size 0 $popup-outer-arrow-size $popup-outer-arrow-size; border-left-color: $popup-border-color; } .root[x-placement="left-start"] .arrow { top: $popup-arrow-offset; } .root[x-placement="left"] .arrow { top: 50%; } .root[x-placement="left-end"] .arrow { bottom: $popup-arrow-offset; } .root[x-placement^="right"] { margin-left: $popup-arrow-size; } .root[x-placement^="right"] .arrow { left: -$popup-arrow-size; margin-top: -$popup-arrow-size; border-width: $popup-arrow-size $popup-arrow-size $popup-arrow-size 0; border-right-color: $popup-background-color; } .root[x-placement^="right"] .arrow::before { top: -1px; left: -1px; margin-top: -$popup-arrow-size; border-width: $popup-outer-arrow-size $popup-outer-arrow-size $popup-outer-arrow-size 0; border-right-color: $popup-border-color; } .root[x-placement="right-start"] .arrow { top: $popup-arrow-offset; } .root[x-placement="right"] .arrow { top: 50%; } .root[x-placement="right-end"] .arrow { bottom: $popup-arrow-offset; } .root[merge-borders] .arrow ~ * { border: none; box-shadow: none; }