diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index f8baf6a86..d373c3ea8 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -79,7 +79,7 @@ export class Gutter { let foldElement: Element; Array.from(protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${(buttonElement.previousElementSibling || buttonElement.nextElementSibling).getAttribute("data-node-id")}"]`)).find(item => { const itemRect = item.getBoundingClientRect(); - const gutterTop = this.element.getBoundingClientRect().top; + const gutterTop = this.element.getBoundingClientRect().top + 8; if (!hasClosestByAttribute(item.parentElement, "data-type", "NodeBlockQueryEmbed") && itemRect.top <= gutterTop && itemRect.bottom >= gutterTop) { foldElement = item; @@ -161,7 +161,7 @@ export class Gutter { let foldElement: Element; Array.from(protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${id}"]`)).find(item => { const itemRect = item.getBoundingClientRect(); - const gutterTop = this.element.getBoundingClientRect().top; + const gutterTop = this.element.getBoundingClientRect().top + 8; if (!hasClosestByAttribute(item.parentElement, "data-type", "NodeBlockQueryEmbed") && itemRect.top <= gutterTop && itemRect.bottom >= gutterTop) { foldElement = item; @@ -235,7 +235,7 @@ export class Gutter { Array.from(protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${buttonElement.getAttribute("data-node-id")}"]`)).find(item => { if (!hasClosestByAttribute(item.parentElement, "data-type", "NodeBlockQueryEmbed")) { const itemRect = item.getBoundingClientRect(); - const gutterTop = this.element.getBoundingClientRect().top; + const gutterTop = this.element.getBoundingClientRect().top + 8; if (itemRect.top <= gutterTop && itemRect.bottom >= gutterTop) { Array.from(protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--hl")).forEach(hlItem => { if (!item.isSameNode(hlItem)) { @@ -670,7 +670,7 @@ export class Gutter { if (buttonElement.tagName === "BUTTON") { Array.from(protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${id}"]`)).find(item => { const itemRect = item.getBoundingClientRect(); - const gutterTop = this.element.getBoundingClientRect().top; + const gutterTop = this.element.getBoundingClientRect().top + 8; // 缩放后小数点会有偏差 if (!hasClosestByAttribute(item.parentElement, "data-type", "NodeBlockQueryEmbed") && itemRect.top <= gutterTop && itemRect.bottom >= gutterTop) { nodeElement = item;