From f999f1a67558ec4e82ae2404969f7ca928888d45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Kr=C3=B6g?= Date: Wed, 14 Apr 2021 22:07:38 +0200 Subject: [PATCH] Fix zoomslider layout with padding --- src/ol/control/ZoomSlider.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/ol/control/ZoomSlider.js b/src/ol/control/ZoomSlider.js index 2d4e7724cc..4de7ca0254 100644 --- a/src/ol/control/ZoomSlider.js +++ b/src/ol/control/ZoomSlider.js @@ -183,22 +183,29 @@ class ZoomSlider extends Control { */ initSlider_() { const container = this.element; - const containerWidth = container.offsetWidth; - const containerHeight = container.offsetHeight; + let containerWidth = container.offsetWidth; + let containerHeight = container.offsetHeight; if (containerWidth === 0 && containerHeight === 0) { return (this.sliderInitialized_ = false); } + const containerStyle = getComputedStyle(container); + containerWidth -= + parseFloat(containerStyle['paddingRight']) + + parseFloat(containerStyle['paddingLeft']); + containerHeight -= + parseFloat(containerStyle['paddingTop']) + + parseFloat(containerStyle['paddingBottom']); const thumb = /** @type {HTMLElement} */ (container.firstElementChild); - const computedStyle = getComputedStyle(thumb); + const thumbStyle = getComputedStyle(thumb); const thumbWidth = thumb.offsetWidth + - parseFloat(computedStyle['marginRight']) + - parseFloat(computedStyle['marginLeft']); + parseFloat(thumbStyle['marginRight']) + + parseFloat(thumbStyle['marginLeft']); const thumbHeight = thumb.offsetHeight + - parseFloat(computedStyle['marginTop']) + - parseFloat(computedStyle['marginBottom']); + parseFloat(thumbStyle['marginTop']) + + parseFloat(thumbStyle['marginBottom']); this.thumbSize_ = [thumbWidth, thumbHeight]; if (containerWidth > containerHeight) {