diff --git a/packages/opendesign/src/_styles/mixin.scss b/packages/opendesign/src/_styles/mixin.scss
index cbdf2c02d7a00b1be3d36840f0b9c873e05bd2c1..f100fd657c535c38f468ee47841d1a92a378c321 100644
--- a/packages/opendesign/src/_styles/mixin.scss
+++ b/packages/opendesign/src/_styles/mixin.scss
@@ -22,7 +22,13 @@ $breakpoints: (
'<=laptop': (0, 1440px),
'>laptop': 1441px,
'pad-laptop': (601px, 1440px),
- 'pad_v-laptop': (841px, 1440px)
+ 'pad_v-laptop': (841px, 1440px),
+ 'pad_v-pc_s': (841px, 1680px),
+ 'pc_s': (1441px, 1680px),
+ '<=pc_s': (0px, 1680px),
+ 'pc_l': (1681px, 1920px),
+ '>pc_s': 1681px,
+ 'laptop-pc_s': (1201px, 1680px)
);
@mixin respond-to($breakname) {
diff --git a/packages/opendesign/src/_utils/dom.ts b/packages/opendesign/src/_utils/dom.ts
index 77f9c9c550f5c3d6c0c0fccb33ca51a9b6c513f1..b2ea905a17daadf2a08ca62e8e41ed5835c309cb 100644
--- a/packages/opendesign/src/_utils/dom.ts
+++ b/packages/opendesign/src/_utils/dom.ts
@@ -189,3 +189,14 @@ export function scrollTo(y: number, opts: ScrollTopOptions) {
throttleRAF(frameFn)();
});
}
+
+/*判断一个元素是否触发溢出隐藏*/
+export function isOverflown(element?: HTMLElement) {
+ if (!element) {
+ return false;
+ }
+ return (
+ element.scrollWidth > element.clientWidth ||
+ element.scrollHeight > element.clientHeight
+ );
+}
diff --git a/packages/opendesign/src/menu/OMenu.vue b/packages/opendesign/src/menu/OMenu.vue
index 396cccdd3977484213cbbd8ef233dd98d13a9c73..20ef636a23eb16acf643447c3edd4a53622ec704 100644
--- a/packages/opendesign/src/menu/OMenu.vue
+++ b/packages/opendesign/src/menu/OMenu.vue
@@ -1,9 +1,11 @@
-
diff --git a/packages/opendesign/src/menu/OMenuItem.vue b/packages/opendesign/src/menu/OMenuItem.vue
index 3bc5685e5114190a8a87efe54747b30f04c60989..6e2363a5a55d3b6ef1e30dc35141b2582e244d55 100644
--- a/packages/opendesign/src/menu/OMenuItem.vue
+++ b/packages/opendesign/src/menu/OMenuItem.vue
@@ -1,8 +1,9 @@
-