diff --git a/src/images/logo-vuemastery.svg b/src/images/logo-vuemastery.svg new file mode 100644 index 0000000000..b4ce163d48 --- /dev/null +++ b/src/images/logo-vuemastery.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/vue/layout/layout.ejs b/themes/vue/layout/layout.ejs index 28526dfd17..ad707fcfeb 100644 --- a/themes/vue/layout/layout.ejs +++ b/themes/vue/layout/layout.ejs @@ -90,6 +90,7 @@ + <%- partial('partials/vuemastery_banner.ejs') %>
> diff --git a/themes/vue/layout/partials/vuemastery_banner.ejs b/themes/vue/layout/partials/vuemastery_banner.ejs new file mode 100644 index 0000000000..69afb3fceb --- /dev/null +++ b/themes/vue/layout/partials/vuemastery_banner.ejs @@ -0,0 +1,99 @@ + + + diff --git a/themes/vue/source/css/_vuemastery-banner.styl b/themes/vue/source/css/_vuemastery-banner.styl new file mode 100644 index 0000000000..49494ca5d2 --- /dev/null +++ b/themes/vue/source/css/_vuemastery-banner.styl @@ -0,0 +1,198 @@ +.vuemastery-banner + display none + background #4fc08d + background-image linear-gradient(to right, #35495E, #35495E 50%, #4fc08d 50%) + overflow hidden + position relative + + &:before + content '' + background #35495E + background-image linear-gradient(to right, #4fc08d, #4fc08d 80%, #35495E 100%) + position absolute + top 0 + bottom 0 + left 0 + width 0 + transition width .15s ease-out .1s + + &:hover + &:before + transition width .15s ease-in + width 50% + p + transition-delay 0 + color #fff + + .vuemastery-banner--wrapper::before + width 100vw + transition width .15s ease-in .10s + + a + display flex + height 80px + justify-content center + +.vuemastery-banner--wrapper + display flex + height 100% + align-items center + background #4fc08d + margin-left -50px + padding-left 50px + position relative + + &:before + content '' + pointer-events none + background #35495E + background-image linear-gradient(to right, #35495E, #35495E 80%, #4fc08d 100%) + position absolute + top 0 + bottom 0 + left 0 + width 0 + transition width .15s ease-out + + &:hover + + .vuemastery-banner--close + &:before, + &:after + transform-origin 100% + + p + margin -3px 50px 0 20px + font-size 1.17rem + font-weight 600 + color #2c3e50 + position relative + transition-delay .15s + + span + font-size 1rem + display block + color #fff + +.vuemastery-banner--logo + height 102% + margin-top: -1px + margin-left 125px + position relative + z-index 2 + +.vuemastery-banner--close + position absolute + top 20px + right 25px + height 40px + width 40px + -webkit-tap-highlight-color transparent + border-radius 50% + cursor pointer + + &:before, + &:after + content '' + position absolute + top 19px + left 14px + width 25px + height 2px + background-color #fff + transform-origin 50% + transform rotate(-45deg) + transition all .2s ease-out + + &:after + transform rotate(45deg) + + &:hover + &:before, + &:after + transform rotate(180deg) + +.vuemastery-weekend-promo + #mobile-bar, + #mobile-bar.top + position relative + background-color #fff + + &.docs:not(.vuemastery-menu-fixed) + padding-top 0 + #header + position relative + width auto + #nav + position absolute + + &.vuemastery-menu-fixed + #mobile-bar + position fixed + +@media screen and (min-width: 901px) + .vuemastery-weekend-promo + &.docs:not(.vuemastery-menu-fixed) + #main.fix-sidebar .sidebar + position absolute + top 141px + + #sidebar-sponsors-platinum-right + position absolute + top: 170px; + + &.vuemastery-menu-fixed.docs + .vuemastery-banner + margin-bottom 0 + +@media screen and (max-width: 900px) + .vuemastery-banner + .vuemastery-banner--logo + margin-left 0 + + .vuemastery-weekend-promo + &.vuemastery-menu-fixed + .vuemastery-banner + margin-bottom 40px + + +@media screen and (max-width: 700px) + .vuemastery-banner + a + height 40px + overflow hidden + + .vuemastery-banner--logo + margin-left 0 + justify-content flex-start + + p, span + font-size .8rem + color #fff + + .vuemastery-banner--close + top 0px + right 0px + + &:before, + &:after + top 19px + left 14px + width 15px + height 2px + +@media screen and (max-width: 465px) + .vuemastery-banner + p + max-width 185px + span + display none + +@media screen and (max-width 330px) + .vuemastery-banner p + font-size 0.6rem + margin -3px 28px 0 0px + max-width 140px + +@media print + .vuemastery-banner + display none \ No newline at end of file diff --git a/themes/vue/source/css/_vue-mastery.styl b/themes/vue/source/css/_vuemastery.styl similarity index 100% rename from themes/vue/source/css/_vue-mastery.styl rename to themes/vue/source/css/_vuemastery.styl diff --git a/themes/vue/source/css/index.styl b/themes/vue/source/css/index.styl index 7cc81bddd3..bcbe5ec6a9 100644 --- a/themes/vue/source/css/index.styl +++ b/themes/vue/source/css/index.styl @@ -3,6 +3,7 @@ @import "_sidebar" @import "_sponsors-index" @import "_modal" +@import "_vuemastery-banner" @import "_themes" $width = 900px diff --git a/themes/vue/source/css/page.styl b/themes/vue/source/css/page.styl index 0c695f7d92..8592dfff7c 100644 --- a/themes/vue/source/css/page.styl +++ b/themes/vue/source/css/page.styl @@ -14,6 +14,7 @@ @import "_style-guide" @import "_modal" @import "_scrimba" +@import "_vuemastery-banner" @import "_vue-mastery" @import "_themes"