framework7
Version:
Full featured mobile HTML framework for building iOS & Android apps
107 lines (105 loc) • 2.35 kB
text/less
/* === Sheet Modal === */
@import url('./sheet-vars.less');
.sheet-backdrop {
z-index: 11000;
}
.sheet-modal {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: var(--f7-sheet-height);
display: none;
box-sizing: border-box;
transition-property: transform;
transform: translate3d(0, 100%, 0);
background: var(--f7-sheet-bg-color);
z-index: 12500;
will-change: transform;
&.modal-in, &.modal-out {
transition-duration: 300ms;
}
&.not-animated {
transition-duration: 0ms;
}
&.modal-in {
display: block;
transform: translate3d(0, 0, 0);
}
&.modal-in-swipe-step {
display: block;
transform: translate3d(0, var(--f7-sheet-swipe-step, 0), 0);
}
&.modal-out {
transform: translate3d(0, 100%, 0);
}
.sheet-modal-inner {
height: 100%;
position: relative;
overflow: hidden;
}
.toolbar {
position: relative;
width: 100%;
&:after, &:before {
display: none;
}
~ * .page-content {
padding-top: 0;
padding-bottom: 0;
}
+ .sheet-modal-inner {
height: calc(100% - var(--f7-toolbar-height));
}
~ .sheet-modal-inner .page-content {
padding-bottom: 0;
padding-top: 0;
}
}
}
.sheet-modal-top {
.hairline(bottom, var(--f7-sheet-border-color));
&:after {
z-index: 600;
backface-visibility: hidden;
transform-style: preserve-3d;
}
}
.sheet-modal-bottom, .sheet-modal:not(.sheet-modal-top) {
.hairline(top, var(--f7-sheet-border-color));
&:before {
z-index: 600;
backface-visibility: hidden;
transform-style: preserve-3d;
}
}
.sheet-modal-bottom,
.sheet-modal:not(.sheet-modal-top) {
.toolbar ~ .sheet-modal-inner .page-content,
.sheet-modal-inner > .page-content {
padding-bottom: var(--f7-safe-area-bottom);
}
}
.sheet-modal-top {
bottom: auto;
top: var(--f7-statusbar-height);
transform: translate3d(0, calc(-100% - var(--f7-statusbar-height)), 0);
&.modal-out {
transform: translate3d(0, calc(-100% - var(--f7-statusbar-height)), 0);
}
.toolbar-bottom {
position: absolute;
}
.toolbar-top ~ .sheet-modal-inner .page-content {
padding-top: 0;
}
}
.if-ios-theme({
@import url('./sheet-ios.less');
});
.if-md-theme({
@import url('./sheet-md.less');
});
.if-aurora-theme({
@import url('./sheet-aurora.less');
});