From 77e6287c1f0bdc9dd804e70b8a9eb8362366b313 Mon Sep 17 00:00:00 2001 From: Kevin Ball Date: Thu, 18 May 2017 17:03:17 -0700 Subject: [PATCH] Fix dropdown issue related to odd interactions with visibility:hidden --- js/foundation.dropdown.js | 4 +++- scss/components/_dropdown.scss | 9 ++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/js/foundation.dropdown.js b/js/foundation.dropdown.js index db63ba200..b3b6e18e9 100644 --- a/js/foundation.dropdown.js +++ b/js/foundation.dropdown.js @@ -274,8 +274,10 @@ class Dropdown extends Plugin { this.$anchor.addClass('hover') .attr({'aria-expanded': true}); // this.$element/*.show()*/; + + this.$element.addClass('is-opening'); this._setPosition(); - this.$element.addClass('is-open') + this.$element.removeClass('is-opening').addClass('is-open') .attr({'aria-hidden': false}); if(this.options.autoFocus){ diff --git a/scss/components/_dropdown.scss b/scss/components/_dropdown.scss index 7c791a733..2d6366e94 100644 --- a/scss/components/_dropdown.scss +++ b/scss/components/_dropdown.scss @@ -43,19 +43,26 @@ $dropdown-sizes: ( position: absolute; z-index: 10; - display: block; width: $dropdown-width; padding: $dropdown-padding; visibility: hidden; + display: none; border: $dropdown-border; border-radius: $dropdown-radius; background-color: $dropdown-background; font-size: $dropdown-font-size; + + // Allow an intermittent state to do positioning before making visible. + &.is-opening { + display: block; + } + &.is-open { visibility: visible; + display: block; } } -- 2.47.2