Set horizontal margin for even better consistency
This commit is contained in:
parent
6d6b03dfe2
commit
68e5b5a84a
|
@ -119,7 +119,7 @@ onMounted(() => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const rect = props.source.getBoundingClientRect();
|
const rect = props.source.getBoundingClientRect();
|
||||||
const x = Math.max(2, ((rect.left + (props.source.offsetWidth / 2)) - (300 / 2)) + window.scrollX);
|
const x = Math.max(1, ((rect.left + (props.source.offsetWidth / 2)) - (300 / 2)) + window.scrollX);
|
||||||
const y = rect.top + props.source.offsetHeight + window.scrollY;
|
const y = rect.top + props.source.offsetHeight + window.scrollY;
|
||||||
|
|
||||||
top.value = y;
|
top.value = y;
|
||||||
|
|
|
@ -15,7 +15,7 @@ export function calcPopupPosition(el: HTMLElement, props: {
|
||||||
const contentWidth = el.offsetWidth;
|
const contentWidth = el.offsetWidth;
|
||||||
const contentHeight = el.offsetHeight;
|
const contentHeight = el.offsetHeight;
|
||||||
|
|
||||||
const LEFT_MARGIN = 2;
|
const HORIZONTAL_MARGIN = 1;
|
||||||
|
|
||||||
let rect: DOMRect;
|
let rect: DOMRect;
|
||||||
|
|
||||||
|
@ -38,10 +38,10 @@ export function calcPopupPosition(el: HTMLElement, props: {
|
||||||
left -= (el.offsetWidth / 2);
|
left -= (el.offsetWidth / 2);
|
||||||
|
|
||||||
if (left + contentWidth - window.scrollX > window.innerWidth) {
|
if (left + contentWidth - window.scrollX > window.innerWidth) {
|
||||||
left = window.innerWidth - contentWidth + window.scrollX - 1;
|
left = window.innerWidth - contentWidth + window.scrollX - HORIZONTAL_MARGIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
left = Math.max(LEFT_MARGIN, left);
|
left = Math.max(HORIZONTAL_MARGIN, left);
|
||||||
|
|
||||||
return [left, top];
|
return [left, top];
|
||||||
};
|
};
|
||||||
|
@ -61,10 +61,10 @@ export function calcPopupPosition(el: HTMLElement, props: {
|
||||||
left -= (el.offsetWidth / 2);
|
left -= (el.offsetWidth / 2);
|
||||||
|
|
||||||
if (left + contentWidth - window.scrollX > window.innerWidth) {
|
if (left + contentWidth - window.scrollX > window.innerWidth) {
|
||||||
left = window.innerWidth - contentWidth + window.scrollX - 1;
|
left = window.innerWidth - contentWidth + window.scrollX - HORIZONTAL_MARGIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
left = Math.max(LEFT_MARGIN, left);
|
left = Math.max(HORIZONTAL_MARGIN, left);
|
||||||
|
|
||||||
return [left, top];
|
return [left, top];
|
||||||
};
|
};
|
||||||
|
@ -81,7 +81,7 @@ export function calcPopupPosition(el: HTMLElement, props: {
|
||||||
top = props.y;
|
top = props.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
left = Math.max(LEFT_MARGIN, left);
|
left = Math.max(HORIZONTAL_MARGIN, left);
|
||||||
|
|
||||||
top -= (el.offsetHeight / 2);
|
top -= (el.offsetHeight / 2);
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ export function calcPopupPosition(el: HTMLElement, props: {
|
||||||
top -= (el.offsetHeight / 2);
|
top -= (el.offsetHeight / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
left = Math.max(LEFT_MARGIN, left);
|
left = Math.max(HORIZONTAL_MARGIN, left);
|
||||||
|
|
||||||
if (top + contentHeight - window.scrollY > window.innerHeight) {
|
if (top + contentHeight - window.scrollY > window.innerHeight) {
|
||||||
top = window.innerHeight - contentHeight + window.scrollY - 1;
|
top = window.innerHeight - contentHeight + window.scrollY - 1;
|
||||||
|
|
Loading…
Reference in New Issue