vue3-composition-admin 是一个管理端模板解决方案,它是基于vue3,ts和element-plus,项目都是以composition api风格编写。

  • 演示地址:https://admin-tmpl.rencaiyoujia.com/
  • github地址:https://github.com/rcyj-FED/vue3-composition-admin

响应式设计

页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整。具体的实践方式由多方面组成,包括弹性网格和布局、图片、CSS media query的使用等。
无论用户正在使用笔记本还是iPad,我们的页面都应该能够自动切换分辨率、图片尺寸及相关脚本功能等,以适应不同设备;换句话说,页面应该有能力去自动响应用户的设备环境。
响应式网页设计就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这样,我们就可以不必为不断到来的新设备做专门的版本设计和开发了。

演示

我们以首页Panel Group 为例,展示下面效果:


这个案例运用了大部分响应式设计

步骤分析如下:

  1. 最初宽度大于 1200px 每个格子占6个栅格
  2. 小于1200之后变成 12个栅格也就是50%
  3. window.resize 触发回调,到达一定值vuex响应,关闭sidebar
  4. 媒体查询到达550px时,图标居中其他隐藏

引用代码:Panel Group

响应式技术


栅格系统

不管是ant-design 还是element,UI组件库 在layout都会有栅格系统。基本上都是基于Bootstrap 的响应式设计。

Bootstrap 栅格系统:https://v3.bootcss.com/css/#grid

不同UI组件库对于栅格划分定义不同,以element-plus为例:

element-plus 预设了五个响应尺寸:xs、sm、md、lg 和 xl。

尺寸 解释
xs <768px 响应式栅格数或者栅格属性对象
sm ≥768px 响应式栅格数或者栅格属性对象
md ≥992px 响应式栅格数或者栅格属性对象
lg ≥1200px 响应式栅格数或者栅格属性对象
xl ≥1920px 响应式栅格数或者栅格属性对象

项目实例:

针对于卡片我们可以这样写

<el-col:xs="12":sm="12":lg="6"class="card-panel-col"></el-col>

也就是说当宽度大于1200px 6个栅格,小于1200px12个栅格。

媒体查询


css3 媒体查询更加完善,不管用什么UI框架媒体查询也是逃不掉的,可以做一些细节适配。具体使用不说了,查看文档即可:

  1. CSS3 @media 查询
  2. 响应式 Web 设计 - 媒体查询
  3. Sass和媒体查询
  4. LESS @media内部作用域/扩展

sass 和 less 可以支持嵌套媒体查询,使用起来复用度更高

项目实例:

@media (max-width:550px) {.card-panel-description {display: none;}.card-panel-icon-wrapper {float: none !important;width: 100%;height: 100%;margin: 0 !important;svg {display: block;margin: 14px auto !important;float: none !important;}}
}

步骤解析:宽度为550px的时候,css样式发生改变,隐藏面板文字和icon居中

window 监听 resize变化


window提供一些监听媒体的方法和大小的方法,响应式需要动态触发需求的时候可以用到,如侧边栏开关。

window有关响应式的API总结:

  • EventTarget.addEventListener
  • matchMedia

项目实例:

代码引用:resize.ts

Window 监听resize变化调用回调函数

const addEventListenerOnResize = () => {window.addEventListener('resize', resizeHandler)}

回调函数根据大小判断是否需要关闭侧边栏,使用Vuex通知

const resizeHandler = () => {if (!document.hidden) {store.dispatch(AppActionTypes.ACTION_TOGGLE_DEVICE, isMobile() ? DeviceType.Mobile : DeviceType.Desktop)if (isMobile()) {store.dispatch(AppActionTypes.ACTION_CLOSE_SIDEBAR, true)}}}

图片视频响应式


图片视频比较简单,基本遵守百分比布局,特殊适配一下就行。

图片:https://www.runoob.com/css/css-rwd-images.html
视频:https://www.runoob.com/css/css-rwd-videos.html

《vue3+TS+element-plus 后端管理系统系列》之响应式设计相关推荐

  1. vue3+ts+element封装一个简易的curd

    vue3+ts+element封装一个简易的curd 闲来无趣做一个简单的table封装,不喜勿喷 首先创建一个公共的Table.vue/pagination.vue文件 Table.vue < ...

  2. 跟我学Springboot开发后端管理系统8:Matrxi-Web权限设计实现

    上篇文章讲述了Matrix-web整体实现的权限控制的思路.现在来回顾一下: 首先,用户需要登录,填用户名.密码,后端接收到登录请求,进行用户.密码的校验,校验成功后则根据用户名生成Token,并返回 ...

  3. Vue3官网-高级指南(十七)响应式计算`computed`和侦听`watchEffect`(onTrack、onTrigger、onInvalidate、副作用的刷新时机、`watch` 、pre)

    Vue3官网-高级指南(十七)响应式计算computed和侦听watchEffect(onTrack.onTrigger.onInvalidate.副作用的刷新时机.watch .pre).渲染机制和 ...

  4. 基于vue3+ts+scss的后台管理系统(一)

    创建项目 vite创建项目 注意:vite需要Node.js版本>=12.0.0 安装方式(不使用模板): #使用 NPM: npm init vite@latest #yarn [推荐] ya ...

  5. 跟我学Springboot开发后端管理系统7:Matrxi-Web权限设计

    Matrxi-Web权限设计 对于一个后端系统来说,权限是基础设施,是安全保障.没有权限,系统可能随时面临各种风险,所以权限设计对后端系统来说至关重要.在Javaweb开发中,有很多权限开发的框架,比 ...

  6. vue3.0初体验(例子解读reactive响应式)

    目录 准备 vue3 reactive原理例子重点讲解 vue3 reactive原理例子完整代码 准备: 下载vue-next 安装依赖 npm install 核心部分package,里面的vue ...

  7. 用 Vite+Vue3+Ts 搭建通用后台管理系统

    大厂技术  高级前端  Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 通用后台管理系统整体架构方案(Vue) 项目创建,脚手架的选择(vite or vue-cl ...

  8. 用vite+Vue3+ts搭建通用后台管理系统

    点击上方关注 前端技术江湖,一起学习,天天进步 通用后台管理系统整体架构方案(Vue) 项目创建,脚手架的选择(vite or vue-cli) vue-cli基于webpack封装,生态非常强大,可 ...

  9. 基于vue3+ts+scss的后台管理系统(二)----excel的导入导出

    excel的导入导出 官网地址 https://docs.sheetjs.com/docs/getting-started/installation/standalone 安装XLSX插件:npm i ...

最新文章

  1. chubby分布式锁服务概述
  2. 在校生如何快速提升竞争力
  3. 怎么修改CSDN上传图片水印的字体大小?(去水印)
  4. 科大星云诗社动态20210222
  5. JNI方面的笔记(未完待续)
  6. Android开源工具项目集合
  7. java 信号量 互斥锁_线程同步(互斥锁与信号量的作用与区别)
  8. UIScollView Touch事件
  9. Win10下Eclipse运行环境的安装
  10. c语言程序结课编程报告,C语言程序分析报告课程标准.doc
  11. 以客户的名义,宏杉科技“存储七项式”律己律人
  12. Debian7安装NVIDIA显卡驱动
  13. 中小型局域网上网管理组网方案
  14. 讲座报名|美团自动配送技术:感知预测与规划控制
  15. Qt编写安防视频监控系统67-跨平台及国产系统
  16. 计算机毕业设计:基于微信小程序的校园求职系统
  17. 浅谈getaddrinfo
  18. tensorflow slim 安装教程
  19. 祝贺| 蚂蚁金服年轻交互设计师陈凯翔,荣获HCII 2018 最佳论文奖
  20. 整个代码,戏弄一下你的朋友吧

热门文章

  1. 云E办项目之部门管理
  2. 多场景业务实战(有点多)
  3. 网络安全入门之 Burp Suite 暴力破解 DVWA Brute Force Low
  4. 曲线(笔迹)简化算法
  5. vscode在html看到图片的插件_三个强大的PPT插件工具
  6. 05-PS使用中性灰、双曲线加深减淡方法
  7. 苹果xr邮件无法连接服务器,iPhone XR手机怎么添加QQ邮箱?苹果XR添加QQ邮箱的方法...
  8. 1.Redis实战—短信登录
  9. JS 获取 未来时间
  10. 基于MySQL的淘宝用户行为分析