响应式Quasar

Quasar (pronounced /ˈkweɪ.zɑɹ/) is an MIT licensed open-source Vue.js based framework, which allows you as a web developer to quickly create responsive++ websites/apps in many flavours:
上面一段是官方对于Quasar的介绍,可见响应式是Quasar这个框架的一大特色
下面是使用Quasar做的几个页面在不同分辨率浏览器以及手机中的展示效果



代码已上传到github想了解的伙伴可以去看一下

Quasar实现响应式的主要方式

主要有三部分

  • Platform Detection 平台检测
  • Screen Plugin 屏幕插件
  • CSS Visibility css控制显隐

还有一个重要的概念Breakpoints,暂翻译为断点
在quasar框架中充当很重要的角色
默认断点值(单位px,包含两端):

xs 0-599
sm 600-1023
md 1024-1439
lg 1440-1919
xl 1920-

也可以自定义断点值

//组件内部
this.$q.screen.setSizes({ sm: 300, md: 500, lg: 1000, xl: 2000 })
//全局设置
import { Screen } from 'quasar'
Screen.setSizes({ sm: 300, md: 500, lg: 1000, xl: 2000 })

Platform Detection

Quasar提供了强大的平台检测api,可以在运行代码的上下文中检测平台,这样就可以根据不同的平台设置相应的样式布局
Vue组件JS内的用法:

this.$q.platform.is.mobile

Vue组件模板内部的用法:

$q.platform.is.mobile

部分api

Platform.is.mobile	   是否在移动设备上运行?
Platform.is.desktop	   是否在桌面浏览器上运行?
Platform.is.ios	       是否在iOS设备上运行?
Platform.is.android	   是否在Android设备上运行?
Platform.is.winphone   是否在Windows Phone设备上运行?
Platform.is.chrome	   是否在Google Chrome浏览器中运行?
Platform.has.touch	   是否在可触摸的屏幕上运行?
Platform.within.iframe 是否在IFRAME中运行?

Screen Plugin

Screen Plugin提供了一些屏幕尺寸的一些api
使用方法和Platform Detection一样
Vue组件JS内的用法:

this.$q.screen.lt.md

Vue组件模板内部的用法:

$q.screen.lt.md

部分api

Screen.width  返回窗口宽度,px
Screen.height 返回窗口高度,px
Screen.sizes  返回断点尺寸对象
			  { sm: 300, md: 500, lg: 1000, xl: 2000 }
Screen.xl	  当前屏幕宽度是否在相应的尺寸范围内
Screen.gt.xs  当前屏幕宽度是否大于尺寸范围
Screen.lt.md  当前屏幕宽度是否小于尺寸范围

CSS Visibility

控制组件显隐
这里只列出部分css classes

desktop-only 只在桌面浏览器中显示
mobile-only  只在手机平台中显示
mobile-hide  只在手机平台中隐藏
lt-md 屏幕宽度小于md时显示
gt-md 屏幕宽度大于md时显示
platform-android-only 只在安卓系统中显示
platform-android-hide 只在安卓系统中隐藏

更多的css classes可以查看官方文档

你可能感兴趣的:(quasar)