diff --git a/addons/portal/static/src/less/portal.less b/addons/portal/static/src/less/portal.less index e05df190b91..e17b51b98ef 100644 --- a/addons/portal/static/src/less/portal.less +++ b/addons/portal/static/src/less/portal.less @@ -49,6 +49,11 @@ header { visibility: hidden; } } + .nav.navbar-nav.pull-right { + @media (max-width: @screen-xs-max) { + float: none!important; + } + } } ul.nav-stacked > li > a { padding: 2px 15px; diff --git a/addons/website/static/src/js/content/menu.js b/addons/website/static/src/js/content/menu.js index 034a1e41b64..52e4e2c5319 100644 --- a/addons/website/static/src/js/content/menu.js +++ b/addons/website/static/src/js/content/menu.js @@ -87,8 +87,9 @@ sAnimation.registry.autohideMenu = sAnimation.Class.extend({ * @override */ start: function () { - this.$topMenu = this.$('#top_menu'); - this.$items = this.$topMenu.children(); + var $allItems = this.$('#top_menu').children(); + this.$unfoldableItems = $allItems.filter('.divider, .divider ~ li'); + this.$items = $allItems.not(this.$unfoldableItems); $(window).on('resize', _.debounce(this._adapt.bind(this), 500)); this._adapt(); @@ -117,13 +118,14 @@ sAnimation.registry.autohideMenu = sAnimation.Class.extend({ } this.maxWidth = this.$el.width(); - this.maxWidth -= _.reduce(this.$el.children().not('.navbar-collapse'), function (sum, el) { - return sum + $(el).outerWidth(true); + var $unfoldable = this.$unfoldableItems.add(this.$el.children().not('.navbar-collapse')); + this.maxWidth -= _.reduce($unfoldable, function (sum, el) { + return sum + computeFloatOuterWidthWithMargins(el); }, 0); var nbItems = this.$items.length; var menuItemsWidth = _.reduce(this.$items, function (sum, el) { - return sum + $(el).outerWidth(true); + return sum + computeFloatOuterWidthWithMargins(el); }, 0); if (menuItemsWidth > this.maxWidth) { @@ -131,24 +133,30 @@ sAnimation.registry.autohideMenu = sAnimation.Class.extend({ this.$extraItemsToggle.append($('', {href: '#', class: 'dropdown-toggle', 'data-toggle': 'dropdown'}) .append($('', {class: 'fa fa-plus'}))); this.$extraItemsToggle.append($('