From ef9f1dea9099ff043c7a344307949454000b00fc Mon Sep 17 00:00:00 2001 From: Jake Date: Thu, 7 Nov 2013 16:21:52 -0500 Subject: [PATCH] Fix for drop-auto-width collision detection and css border top - collision detection was not moving the drop left based on the difference between viewport and relative location of box (dropleft + dropwidth) - .select2-drop-active was overriding the .select2-drop-auto-width making the shifted dropbox look a bit wierd --- select2.css | 19 +++++++++---------- select2.js | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/select2.css b/select2.css index 4a10f306..8b13b5df 100644 --- a/select2.css +++ b/select2.css @@ -18,7 +18,6 @@ Version: @@ver@@ Timestamp: @@timestamp@@ /* Force border-box so that % widths fit the parent container without overlap because of margin/padding. - More Info : http://www.quirksmode.org/css/box.html */ -webkit-box-sizing: border-box; /* webkit */ @@ -145,15 +144,6 @@ Version: @@ver@@ Timestamp: @@timestamp@@ box-shadow: 0 4px 5px rgba(0, 0, 0, .15); } -.select2-drop-auto-width { - border-top: 1px solid #aaa; - width: auto; -} - -.select2-drop-auto-width .select2-search { - padding-top: 4px; -} - .select2-drop.select2-drop-above { margin-top: 1px; border-top: 1px solid #aaa; @@ -174,6 +164,15 @@ Version: @@ver@@ Timestamp: @@timestamp@@ border-top: 1px solid #5897fb; } +.select2-drop-auto-width { + border-top: 1px solid #aaa; + width: auto; +} + +.select2-drop-auto-width .select2-search { + padding-top: 4px; +} + .select2-container .select2-choice .select2-arrow { display: inline-block; width: 18px; diff --git a/select2.js b/select2.js index 9e333cf0..e068241d 100644 --- a/select2.js +++ b/select2.js @@ -1208,7 +1208,7 @@ the specific language governing permissions and limitations under the Apache Lic } if (!enoughRoomOnRight) { - dropLeft = offset.left + width - dropWidth; + dropLeft -= (dropLeft + dropWidth) - viewPortRight; } css = {