@import "../../style/themes/default"; @import "../../style/mixins/index"; @layout-prefix-cls: ~"@{ant-prefix}-layout"; .@{layout-prefix-cls} { display: flex; flex-direction: column; flex: auto; background: @layout-body-background; &, * { box-sizing: border-box; } &&-has-sider { flex-direction: row; > .@{layout-prefix-cls}, > .@{layout-prefix-cls}-content { overflow-x: hidden; } } &-header, &-footer { flex: 0 0 auto; } &-header { background: @layout-header-background; padding: @layout-header-padding; height: @layout-header-height; line-height: @layout-header-height; } &-footer { background: @layout-footer-background; padding: @layout-footer-padding; color: @text-color; font-size: @font-size-base; } &-content { flex: auto; } &-sider { transition: all .2s; position: relative; background: @layout-sider-background; /* fix firefox can't set width smaller than content on flex item */ min-width: 0; &-children { height: 100%; // Hack for fixing margin collaspe bug // https://github.com/ant-design/ant-design/issues/7967 // solution from https://stackoverflow.com/a/33132624/3040605 padding-top: 0.1px; margin-top: -0.1px; } &-has-trigger { padding-bottom: @layout-trigger-height; } &-right { order: 1; } &-trigger { position: fixed; text-align: center; bottom: 0; cursor: pointer; height: @layout-trigger-height; line-height: @layout-trigger-height; color: @layout-trigger-color; background: @layout-trigger-background; z-index: 1; transition: all .2s; } &-zero-width { & > * { overflow: hidden; } &-trigger { position: absolute; top: @layout-header-height; right: -@layout-zero-trigger-width; text-align: center; width: @layout-zero-trigger-width; height: @layout-zero-trigger-height; line-height: @layout-zero-trigger-height; background: @layout-sider-background; color: #fff; font-size: @layout-zero-trigger-width / 2; border-radius: 0 @border-radius-base @border-radius-base 0; cursor: pointer; transition: background .3s ease; &:hover { background: tint(@layout-sider-background, 10%); } } } } }