Skip to content

Commit

Permalink
Adjust margin for sticky elements on modal
Browse files Browse the repository at this point in the history
Previously white space was visible to the right of sticky elements due to right padding being added to the body. This fixes twbs#23661.
  • Loading branch information
TechDavid committed Aug 25, 2017
1 parent 4571ab0 commit c9d073b
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions js/src/modal.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ const Modal = (($) => {
DATA_TOGGLE : '[data-toggle="modal"]',
DATA_DISMISS : '[data-dismiss="modal"]',
FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
STICKY_CONTENT : '.sticky-top',
NAVBAR_TOGGLER : '.navbar-toggler'
}

Expand Down Expand Up @@ -441,6 +442,13 @@ const Modal = (($) => {
$(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)
})

// Adjust sticky content margin
$(Selector.STICKY_CONTENT).each((index, element) => {
const actualMargin = $(element)[0].style.marginRight
const calculatedMargin = $(element).css('margin-right')
$(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)
})

// Adjust navbar-toggler margin
$(Selector.NAVBAR_TOGGLER).each((index, element) => {
const actualMargin = $(element)[0].style.marginRight
Expand All @@ -464,8 +472,8 @@ const Modal = (($) => {
}
})

// Restore navbar-toggler margin
$(Selector.NAVBAR_TOGGLER).each((index, element) => {
// Restore sticky content and navbar-toggler margin
$(Selector.STICKY_CONTENT).add(Selector.NAVBAR_TOGGLER).each((index, element) => {
const margin = $(element).data('margin-right')
if (typeof margin !== 'undefined') {
$(element).css('margin-right', margin).removeData('margin-right')
Expand Down

0 comments on commit c9d073b

Please sign in to comment.