UNPKG

@pi0/framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

186 lines (180 loc) 3.8 kB
.ios { @import (multiple) '../../less/colors-ios.less'; @import (multiple) '../../less/vars-ios.less'; @duration: 400ms; .navbar { height: @navbarSize; font-size: 17px; background: @navbarBg; &.no-hairline { .hairline-remove(bottom); } &:after { backface-visibility: hidden; } a.link { justify-content: flex-start; line-height: @navbarSize; height: @navbarSize; } a.icon-only { width: @navbarSize; margin: 0; justify-content: center; } .title { font-size: 17px; margin: 0; line-height: 1.2; } .subtitle { color: #6d6d72; line-height: 1; font-size: 10px; text-align: center; font-weight: normal; } .left, .right { a + a { .ltr({ margin-left: 15px; }); .rtl({ margin-right: 15px; }); } } b, .title { font-weight: 600; } .left { .ltr({ margin-right: 10px; }); .rtl({ margin-left: 10px; }); } .right { .ltr({ margin-left: 10px; }); .rtl({ margin-right: 10px; }); } .right:first-child { .ltr({ right: 8px; }); .rtl({ left: 8px; }); } } .hairline-root('.navbar', bottom, @navbarBorderColor); .navbar-inner { justify-content: space-between; padding: 0 8px; } // Relation with page .navbar ~ *:not(.no-navbar) .page-content, .navbar ~ .page-content { padding-top: @navbarSize; } // Positions .navbar-previous { pointer-events: none; .left, .right, > .title, .subnavbar, .fading { opacity: 0; } .sliding { opacity: 0; } .subnavbar.sliding, &.sliding .subnavbar { opacity: 1; transform: translate3d(-100%, 0, 0); } } .navbar-next { pointer-events: none; .left, .right, > .title, .subnavbar, .fading { opacity: 0; } .sliding { opacity: 0; } &.sliding { .left, .right, > .title, .subnavbar { opacity: 0; } } .subnavbar.sliding, &.sliding .subnavbar { opacity: 1; transform: translate3d(100%, 0, 0); } } // Transitions .navbar-transitioning { transition-duration: @duration; } // Hidden .navbar-hidden { transform: translate3d(0, -100%, 0); } // Animations .router-transition-css-forward, .router-transition-css-backward { .navbar-current { .left, > .title, .right, .subnavbar { animation: ios-navbar-element-fade-out @duration forwards; } .sliding, .left.sliding .icon, &.sliding .left, &.sliding .left .icon, &.sliding > .title, &.sliding .right { transition-duration: @duration; opacity: 0 !important; animation: none; } &.sliding .subnavbar, .sliding.subnavbar { transition-duration: @duration; animation: none; opacity: 1; } } } .router-transition-css-forward .navbar-next, .router-transition-css-backward .navbar-previous { .left, > .title, .right, .subnavbar { animation: ios-navbar-element-fade-in @duration forwards; } & .sliding, & .left.sliding .icon, &.sliding .left, &.sliding .left .icon, &.sliding > .title, &.sliding .right, &.sliding .subnavbar { transition-duration: @duration; animation: none; transform: translate3d(0,0,0) !important; opacity: 1 !important; } } } @keyframes ios-navbar-element-fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes ios-navbar-element-fade-out { from { opacity: 1; } to { opacity: 0; } }