From 98557a5b44744d70c820e2a9e6aa3c809012f669 Mon Sep 17 00:00:00 2001 From: 刘汉宸 Date: Sun, 30 Jan 2022 00:23:16 +0800 Subject: [PATCH] feat: 新增压窗屏 --- examples/router/routes.js | 6 ++++++ examples/views/docs/component/landscape.md | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packages/landscape/index.scss | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packages/landscape/index.vue | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 242 insertions(+), 0 deletions(-) create mode 100644 examples/views/docs/component/landscape.md create mode 100644 packages/landscape/index.scss create mode 100644 packages/landscape/index.vue diff --git a/examples/router/routes.js b/examples/router/routes.js index ca4d66e..e0c752a 100644 --- a/examples/router/routes.js +++ b/examples/router/routes.js @@ -128,6 +128,12 @@ const _components = [ group: '业务组件', children: [ { + path: 'landscape', + name: 'landscape', + meta: { title: 'Landscape 压窗屏' }, + component: () => import('@/views/docs/component/landscape.md'), + }, + { path: 'platenumber', name: 'platenumber', meta: { title: 'Platenumber 车牌号' }, diff --git a/examples/views/docs/component/landscape.md b/examples/views/docs/component/landscape.md new file mode 100644 index 0000000..5c5383a --- /dev/null +++ b/examples/views/docs/component/landscape.md @@ -0,0 +1,98 @@ +# Landscape 压窗屏 + +## 基本用法 + +::: snippet 常用于推送图片展示 + +```html + + + + + +``` + +::: + +## API + +## Attribute 属性 + +参数|说明|类型|可选值|默认值 +-|-|-|-|- +v-model | 是否展示 | Boolean | - | false +full-screen | 是否全屏 | Boolean | - | false +has-mask | 是否有蒙层 | Boolean | - | true +mask-closable | 是否可以通过点击蒙层关闭 | Boolean | - | false +transition | 弹出层过渡动画 | String | zui-fade, zui-punch | zui-punch + +## Events 事件 + +事件名称|说明|回调参数 +-|-|- +show | 弹出层展示事件 | - +hide | 弹出层隐藏事件 | - \ No newline at end of file diff --git a/packages/landscape/index.scss b/packages/landscape/index.scss new file mode 100644 index 0000000..81ecebd --- /dev/null +++ b/packages/landscape/index.scss @@ -0,0 +1,59 @@ +.zui-landscape { + &.is-full { + .zui-popup-box { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + .zui-landscape-body { + width: 100%; + height: 100%; + background: #FFF; + } + .zui-landscape-content { + width: 100%; + height: 100%; + overflow: auto; + -webkit-overflow-scrolling: touch; + } + .zui-icon.zui-landscape-close { + position: absolute; + right: 2rem; + top: 1rem; + margin: auto; + } + } + .zui-popup, .zui-popup-box { + z-index: 1600; + } + .zui-icon.zui-landscape-close { + position: relative; + display: block; + margin: 2rem auto 1rem auto; + font-size: 2rem; + width: 2rem; + height: 2rem; + line-height: 2rem; + text-align: center; + color: #FFF; + &.dark { + color: #111A34; + opacity: 0.5; + } + } + .zui-landscape-content { + width: 70%; + margin: auto; + // width: 270px; + font-size: 1rem; + overflow: auto; + -webkit-overflow-scrolling: touch; + box-sizing: border-box; + img { + max-width: 100%; + height: auto; + } + } +} \ No newline at end of file diff --git a/packages/landscape/index.vue b/packages/landscape/index.vue new file mode 100644 index 0000000..38440bd --- /dev/null +++ b/packages/landscape/index.vue @@ -0,0 +1,79 @@ + + + + + -- libgit2 0.21.0