| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- .app-page {
- display: flex;
- height: 100%;
- &__sidebar {
- height: 100%;
- overflow-y: auto;
- -webkit-overflow-scrolling: touch;
- }
- &__wrapper {
- flex: 1;
- display: flex;
- flex-direction: column;
- background-color: #e7ebed;
- overflow: hidden;
- }
- &__wrapper &__header {
- .icon-fold-expand {
- margin-right: 10px;
- [class^='g-icon']::before {
- font-size: 20px;
- cursor: pointer;
- }
- .g-icon--expand::before {
- content: var(--icon-expand);
- }
- .g-icon--fold::before {
- content: var(--icon-fold);
- }
- }
- }
- &__wrapper &__main {
- min-height: 100%;
- }
- &__wrapper &__tabs {
- flex: 1;
- overflow: hidden;
- }
- &__wrapper &__teleport {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- /* teleport 为空时隐藏元素 */
- &:empty {
- display: none;
- }
- }
- /* teleport 非空时隐藏兄弟元素 */
- &__wrapper &__teleport:not(:empty)+&__main {
- opacity: 0;
- visibility: hidden;
- }
- .view-enter-from,
- .view-leave-to {
- transform: translateX(20px);
- opacity: 0;
- }
- .view-enter-active,
- .view-leave-active {
- pointer-events: none;
- will-change: opacity, transform;
- transition: opacity 200ms, transform 200ms;
- }
- }
|