首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 CSS Checkbox Hack 技术制作一个手风琴组件

本篇文章里,我们一起学习下如何使用 CSS checkbox hack 技巧制作一个响应手风琴组件,这个组件完全基于CSS,没有JavaScript脚本,基于窗口大小进行水平和垂直之间进行切换。...为了让大家更好理解,我将大家一起一步步进行完成。 手风琴样式效果: 下图是我们要制作手风琴效果 本示例需要你具备一些关于flexbox知识。...然后我们创建相应单选按钮,并为其分配内容关键词: 建立无序列表 接下来,我们设置一个包含4行无序列表,每行列表包含了标题项标签内容项标签: 首先我们标题选型卡外层定义标签...: 接下来我们来定义手风琴整体外观布局,让其具有响应式,用到了弹性盒子布局,设置display:flex, 同时又应用到了CSS自定义变量新属性,方便我们进行统一设置修改,示例代码如下: 然后我们定义无需列表...(accessibility) 以下是完成后CSS代码内容: 4、响应式处理 接下来我们来处理下,小屏或可视窗口低于 650px 情况,幸亏我们使用了弹性盒子布局,在这种情况下,我们让手风琴垂直显示

5.3K30

【译】W3C WAI-ARIA最佳实践 -- 控件

手风琴(有展开/折叠功能模块) 手风琴是个垂直罗列元素组合,例如标签或缩略图,这允许用户切换内容模块展示。每个标签元素可以被用来展开折叠、暴露隐藏其相关内容。...手风琴一般被用来减少页面滚动,当在单个页面中呈现很多内容模块时。 通过以下术语来理解手风琴手风琴标题: 呈现内容模块标签或缩略图,同时也用来展开内容,某些实现中,也用来隐藏内容模块。...如果焦点在第一个手风琴标题,允许不响应操作或将焦点移动到手风琴最后一个标题 键盘交互: 每个手风琴标题包含在一个角色为 button 元素内。...也就是说,Tab Shift + Tab 不会把焦点移出对话框。但是,与非模态对话框不同是,模态对话框没有提供在不关闭当前对话框情况下,将键盘焦点移出对话框窗口方法。...选项卡列表 被包含在 tablist 元素中选项卡元素组合。 选项卡 选项卡列表中一个元素,作为其中一个内容面板标签,可以激活以显示对应内容面板。

4.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

如何选择一个 vue ui 框架?

关于选择哪一个 UI 框架,有人推iview,有人推mintui,有人推vant,还有人推bootstrap4。 框架这东西,各有优劣,难以选出一个目前最好。当下最好,也不一定一直优秀。...Vuetify 是 Vue.js 一个UI组件库,自2016年以来一直积极开发。提供使用谷歌 Material Design 设计指南构建现代网站所需一切 UI 能力。...它通过一致更新周期、对以前版本长期支持(LTS)、响应式社区参与、巨大资源生态系统提供高质量组件来实现这一点。...Material Design 就是它思想。统一思想,利于开发出风格一致项目外观,同时也利于不岗位之间沟通。 2.1 Vuetify给出 vue ui 框架对比图 第一条:组件数量。...以下是 vuetify 应用程序桌面视图中外观: 当调整浏览器大小时,应用程序应该会切换至移动视图: 2.3 基于 vuetify 后台 web 应用如何开发?

5K30

13个帮你提高开发效率现代CSS框架

Materialize Google Material Design 粉丝肯定喜欢 Materialise。该框架基于流行设计语言,包括大量基于 CSS JavaScript 元素。...Pure.css Pure.css压缩后仅为3.8KB,以移动优先理念为中心。它是模块化,所以你只需导入要使用元素包。你还可以下载安装许多常用布局。...mini.css mini.css 是一个轻量级功能丰富之间取得平衡包。它确实达到了目标,压缩后大约10KB,同时拥有相当多UI元素布局。通过它提供文档你可以深入了解这一切是如何运作。...Spectre.css Spectre.css 被称为“轻量级、响应式、现代化”,是一个基于Flexbox框架。你会发现一些基本布局、UI排版风格。...此外还有许多功能组件(手风琴、弹出窗口、标签等)都是用纯CSS构建。总的来说,它做到了很好平衡性。

1.5K40

如何设计下拉菜单(技巧+实例)

什么时候适合用下拉菜单: 陈列子页面 下拉菜单通常适用于陈列所有需要展示子页面,相当于一个子导航菜单,如下图: ? 博客内容分类 许多博客都会选择用下拉菜单来进行分类罗列标签。...选项较多且指向性明确 如果用户知道他们找是什么,可以考虑采用可输入解决方案。即允许用户输入,并在输入同时过滤出可能答案,这样可以节省翻阅长列表时间。 ?...另外,如果用户将鼠标悬停在灰色选项上超过一秒钟,可以考虑用一个简短提示信息来解释该选项为何被禁用。 保留菜单标签/说明 打开下拉菜单时,最好是标明菜单标签或说明。...如果菜单打开后标签消失了,用户就得打断操作、去回忆到底该选择什么选项。 支持键盘输入 应支持键盘输入按键,以在下拉菜单内进行导航 。...从组件面板中拖出一个下拉选择组件一个弹出面板,弹出面板中编辑出下拉菜单下拉内容,再将弹出面板同下拉选择组件进行拼凑、交互。

2.9K84

使用 CSS Checkbox Hack 技术纯手工撸一个手风琴组件

本篇文章里,我们将一起学习下如何使用 CSS checkbox hack 技术纯手工撸一个响应手风琴组件,这个组件完全基于CSS,没有JavaScript脚本,同时又基于窗口大小进行水平和垂直之间进行样式切换...为了让大家更好理解本案例,我将大家一起一步步完成。 手风琴样式效果: 下图是我们要制作手风琴效果动态图: ? 本示例需要你具备一些关于 flexbox 弹性盒子布局相关知识。...就是说,当用户选择该标签时,浏览器就会自动将焦点转到标签相关表单控件上。这就是这个案例关键所在,让我们能在选项卡直接进行切换。...接下来我们来定义手风琴整体外观样式布局,让其具有响应式,用到了弹性盒子布局,设置 display:flex, 同时又应用到了CSS自定义变量新属性,方便我们进行统一设置修改,示例代码如下: ?...通过本文,我们一起学习了如何使用 CSS checkbox hack 技术纯手工撸一个手风琴组件, CSS checkbox hack 不仅能做手风琴效果,还有完成更多有趣效果,比如实现常见导航切换

3.2K20

精读《不再需要 JS 做 5 件事》

使用 JS 判断还是挺复杂,你得设法监听父元素滚动,并且定位切换时可能产生一些抖动,因为 JS 执行与 CSS 之间是异步关系。...手风琴菜单 使用 标签可以实现类似一个简易折叠手风琴效果: title 1 2 标签 标签内容总是会展示,且点击后会切换 内其他元素显隐藏。...暗色主题 虽然直觉上暗色主题好像是一种定制业务逻辑,但其实因为暗色主题太过于普遍,以至于操作系统浏览器都内置实现了,而 CSS 也实现了对应方法判断当前系统主题到底是亮色还是暗色:prefers-color-scheme...所以如果系统要实现暗色系主题,最好可以操作系统设置保持一致,这样用户体验也会更好: @media (prefers-color-scheme: light) { /** ... */ } @media

2.2K20

简单了解下无障碍设计模式

添加可隐藏字幕,或其他视觉元素来作为重要声音元素和声音警报替代方案。 通过 UI 元素上添加描述性标签,使用户可以通过声音应用中导航。...样式 布局 Material Design 触摸目标指南使那些无法看到屏幕、或者运动不灵活用户能够点击应用中元素。 触摸目标 触摸目标是屏幕中响应用户输入部分。...用户可以 “通过触摸浏览” “线性导航” 模式之间切换。当页面使用合适语义化标签时,一些无障碍技术允许用户页面的这些标记(例如标题)之间导航。...开始熟悉这些工具,然后你可以给他们最好用户体验。 人们以不同方式使用无障碍技术。 书写 清晰且有帮助无障碍文本是使 UI 更易访问主要方法之一。...状态可以变化元素 对于可以状态之间切换图标,根据向用户呈现内容来确定使用什么类型图标。

4.7K40

2020年 16 个最有用 Vue UI

Vue Material 是一个轻量级框架, 建立谷歌 Material Design 基础上。 设计强大和美观web应用并适用于不同屏幕。...Vue Material 目的是提供一组可重用组件一系列UI元素,使用 Vue 2.0 建立支持 主流浏览器 应用。 ? 3....通过支持 Material Designs 主题,Vuecidity 作为 Vue版本,非常适合那些对Material Design感到满意开发人员。 ?...Muse UI是一个受Material Design启发库,不仅包含我们所期望所有核心Web组件,而且还包括一些移动组件,例如对话框,滑块响应式刷新按钮。 ?...像Buefy一样,Vue Blu是VueBulma之间集成。 它非常有用且轻巧,并且与NPM,WebpackBabel堆栈具有很好集成。

12.5K31

基于 Flutter 定制一套快速开发框架(一)

主题切换:打算使用FlutterThemeData来定义不同主题,结合全局状态广利,可以确保主题切换可以即时反映在应用UI上。...图片加载:使用老牌cached_network_image包来加载和缓存网络图片。它还支持占位符错误处理。另外我们也可以考虑一下,如果需要,实现图片预加载内存管理策略。...或者使用LayoutBuilderFractionallySizedBox等布局小部件来创建响应式布局,也可以考虑使用flutter_screenutil等包来简化响应式设计实现。...数据持久化:考虑持久化方案,如shared_preferences、hive、sqflite等,设计数据模型存储API,以便于数据读取写入,最好是统一 Storage 抽象,来屏蔽掉这些持久化细节...主题切换模块我决定使用使用provider库来管理主题状态,并允许用户亮色暗色主题之间切换,以下是我们 App 入口架子。

33620

Material Design —悬浮响应式按钮(Buttons: Floating Action Button)

标签屏幕 标签屏幕上,悬浮响应式按钮不应以与内容相同方向退出屏幕。...利用其可见性为主要UI元素创建令人愉快变换。 常用变换包括触发,工具栏,Speed dial变形。 这不是一个详尽清单。 悬浮响应式按钮设计灵活。...尝试最适合您app按钮所在屏幕变换。 触发 悬浮响应式按钮可以简单地触发动作或在某处导航。 触摸波动动画向外扩展导致UI变化。 工具栏 浮动动作按钮可以在按下时变换成工具栏。...如果您有两个选项 ,即您浮动操作按钮只显示另一个选项,则选最重要动作作为悬浮响应式按钮。 如果你有超过六个,用户可能难以触摸到最远选择。 为用户提供最好,最明显,最少选择,来减少决策疲劳。...该列表不应包含无关操作。 ? 变形 浮动操作按钮可以转换为属于应用程序结构一部分材料。 这种戏剧性变化突出了按钮所能实现动作。 悬浮响应式按钮变形时,以有逻辑方式开始结束位置之间转换。

5.6K90

iOS 与 Android APP 设计差异

全局返回操作 (iOS) 在这种情况下,iOSAndroid之间区别在于,iOS设备上页面的右滑是返回上一级,而在Android上则是切换标签。...左滑操作切换标签(Android) 应用内部导航模式IOSAndroid上是不同 Material Design设计规范中有一些不同导航模式。...左侧就是抽屉导航;右侧是标签Material Design中还有一个组件叫做底部导航。这个组件对于安卓原生应用来说也非常重要。底部菜单项很容易点击操作。...但是安卓规范其实不建议同时使用底部导航标签,因为它可能会在导航时引起混乱。 底部导航(Material Design) Apple的人机交互规范中,没有类似抽屉菜单标准导航控件。...iOS两种常见导航形式,分段控制底部标签栏 虽然两个操作系统中都有类似的功能(切换标签分段控制,底部导航标签栏),但导航形式仍然是iOSAndroid之间主要区别之一。

3.2K10

Material Design技术分享

Part1:什么是Material design   自2014年谷歌I/O大会发布Material Design,至今已经两年多,其遵循纸片与墨水视觉设计,并将物理运动带入到UI设计中,google...高度包含了静态高度与组件高度,一般UI高度是个固定值,只有状态不一致可能上下移动,但是变化过后都会自动恢复到自身静态高度。下面的图表对比了多种元素静止高度动态高度偏移。 ?...Behavior中有两个方法layoutDependsOnonDependentViewChanged,前者是确定所提供子视图是否有另一个特定兄弟视图作为一个布局依赖。...以下进行过滤,将不支持切换动画并且自动调用普通activity跳转方法。...这里ActivityTransitionCoordinator其实之前介绍CoordinatorLayout功能有点类似,作为一个协调者,负责两个activity或者两个view之间事件通信。

2.1K60

【Web技术】522- 设计体系响应式设计

前言 正文从这开始~~ 导读 蚂蚁内部有着数量繁多且复杂中后台业务系统,Ant Design 一直以来致力于从设计策略资产角度解决这些产品体验一致性问题,随着蚂蚁产品生态多端化进程,越来越多跨设备不同屏幕尺寸导致问题也逐渐暴露...移动优先设计策略响应式设计不得不提「移动优先」设计策略,移动优先[5]概念最早是 Google 2010 年世界移动大会上提出来一种产品策略,基于 Google 对未来趋势中移动设备将会逐渐拥有核心地位判断...后来「移动优先」更多被提及是作为一种响应式设计中应用设计策略,它认为响应式设计中优先为屏幕限制更大移动设备设计,再扩展到大屏幕 PC 端是一种更有效设计方法,例如 Alta、Lightning...Material Design 响应式设计 「移动优先」本质上是基于一种「增强」设计思想,一个产品如果要同时适应于不同设备,一直以来有两种策略:优雅降级 vs....响应式设计中,Flex 布局通常结合 Breakpoints 使用,两个 Breakpoints 之间让界面做更平滑过度。

1.8K20

介绍几个移动web app开发框架

Ionic遵循视图控制模式,通俗理解 Cocoa 触摸框架相似。视图控制模式中,我们将界面的不同部分分为子视图或包含其他视图子视图控制器。然后视图控制器“驱动”内部视图来提供交互UI功能。...一个很好例子就是标签栏(Tab Bar)视图控制器处理点击标签一系列可视化面板间切换。 github。...UI是使用 bootstrap 3 AngularJS 响应式移动开发HTML5框架。...AngularJS modules, 比如 angular-route, angular-touch angular-animate 响应式媒体查询是将bootstrap作为单独文件,你只需要包含你所需要东西...它主要专注 iOS Google Material design 以带来最好用户体验并保持简单。

5.9K20

Vue开发、学习笔记,持续记录

Vue数据响应式 对于data内数组对象初始时定义元素属性,都支持响应式,但是对于属性或元素新增(除特定被重写数组对象方法之外修改)需要使用set接口添加响应式。(深度监视)。...如果我们v-if切换组件之外,套上标签,那么本该销毁组件则会被缓存起来。...当我们重新切换回来时依旧会重新渲染(确实找不到对应dom元素),但是之前vue实例没有被销毁,vue实例中属性变量都还在,这个标签非常适合做单页面应用。 所有组件都有完整生命周期。...计算属性自定义方法区别 methods方法computed计算属性,两种方式最终结果确实是完全相同; 不同是计算属性是基于它们响应式依赖进行缓存。...只相关响应式依赖发生改变时它们才会重新求值,多次访问计算属性会立即返回之前计算结果,而不必再次执行函数。 methods方法,每当触发重新渲染时,调用方法将总会再次执行函数。

8.5K30

iOS开发常用之网络

该项目通过三种形式展示页面之间切换,比如导航栏上多个选项卡切换,页面左右两端箭头指示切换,以及使用分段控件。...LxTabBarController - 改变了原生tabbar切换标签生硬效果,并加入滑动切换手势(有界面上其它手势发生冲突风险,可根据具体项目予关闭),swift版本。...MGSwipeTableCell - 另一个常见于很多应用中UI组件,苹果应该考虑标准iOS SDK中加入一些类似的内容.Swipeable表格cell是这个pod最佳描述,也是最好。...答案选择切换页 - 将scrollviewtableview封装在一起,初始时候简单将数据带上,就可以一页一页左右来回滑动。...AsyncDisplayKit.swift - AsyncDisplayKit.swift是Facebook提供异步界面高流畅性切换及更灵敏响应框架。

23.5K10

给单元素艺术添加动画

原文:Animating Single Div Art 翻译:nzbin 导读:学习工具最好方法就是尝试新技术,本文通过“单元素艺术”介绍了 CSS 变量使用以及给单元素添加动画几种方法。...这是所有无动画 CSS 属性默认操作,所以这些值之间不会产生过渡效果。 因为我已经提到特殊状态,这在大多数浏览器中都不可用。目前,只有 Chrome Opera 支持。...如果跨浏览器支持的话,这是改变状态最快方法。如果你正在使用 Chrome Opera 浏览,可以使用此方法手风琴左侧按键及右侧按钮添加动画。...这个方法对于切换某个属性非常有用 (比如直接改变大小、位置或颜色)。手风琴右侧按钮部分用就是这一方法 (如果关键帧方法不被支持的话可以用这个方法替换)....在手风琴例子中, --button4-color 或者 --button4-dim CSS 中没有明确定义。所以当加载时它们会使用 --color1 --button-dim 默认值。

1.4K50

深入浅出 NavigationUI | MAD Skills

本文中,我们将为大家讲解另外一个用例,即类似操作栏 (Action Bar)、底部标签栏或者抽屉型导航栏之类 UI 组件如何在应用中实现导航功能。...之前对 ActionBar 所做操作一样,BottomNavigationView 通过匹配 MenuItem id 导航目的页面的 id 来自动响应导航操作。...现在布局文件已经就绪,我再创建一个 nav_drawer_menu.xml,并且将 donutList coffeeList 作为主要分组添加为目的页面。...为了使代码保持整洁、各个元素之间更加清晰,我们会在新方法中实现相关操作,并且 onCreate() 中调用该方法。...△ 屏幕较宽设备上运行 Donut Tracker 请注意,当我切换页面的时候返回按钮会自动显示左上角。

3K30
领券