发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116194.html原文链接:https://javaforall.cn
这是一款非常有创意的卡片式项目管理界面UI设计效果。该UI设计中,将各个项目以卡片的方式堆叠排列在屏幕上,当点击了其中的某个项目的时候,该项目图片会全屏放大,向下滚动鼠标可以看到该项目的介绍信息。...每一个单独的项目都使用绝对定位,并设置100%的高度和放置在它们父容器.cd-project-info的左上角位置。开始它们是堆叠在一起的。...,一个overflow: auto属性(使其可以滚动),它被放置在父元素.single-project的左上角位置。...它的::before伪元素是一个空白占位,它等于屏幕视口的宽度和高度,它的作用是让项目图片开始时可以全屏显示,而不是被content-wrapper的内容覆盖。...当用户点击了.cd-nav-trigger按钮之后,所有的项目被移动到屏幕的下方,这时全屏导航菜单被显示出来。
但随着显示技术的发展,sRBG 不够用了,因此 Interop 2022 包括对三种扩展颜色空间(LAB、LCH、P3)的支持测试,以及两种通过函数在 CSS 中编写颜色的方法:color-mix 和...Dialog Element(对话框元素) 该 Dialog元素可以创建覆盖型的窗口,也就是对话框,比如 ::backdrop 伪元素可以为一个模态框下方的背景设置样式。可在此博客了解对话框元素 。...CSS 中的 scroll-behavior 属性设置当滚动由导航或 CSSOM 滚动 API 触发时,滚动框会出现什么行为。...Subgrid(子网格) Subgrid 可轻松将网格容器的后代元素放置在该网格上,在跨复杂布局排列项目时无需考虑 DOM 结构。...比如下面三个卡片组件的页眉和页脚都对齐了,即使每张卡片都有独立的网格(grid),这是因为每张卡片都是跨越父网格的三行项目,然后使用子网格 Subgrid 将这些行继承到每个卡片中。
在某些情况下,用户可能需要对卡片上显示的信息作出某种操作,这时候可以提供一个动作按钮。按钮显示的顺序是详情页面片卡的右边。...卡片操作按钮 (如媒体控制按钮) ? 某些情况下,在卡片上直接放置动作按钮会比较适合. 动作按钮与卡片操作按钮的使用规范如下: •只有在非常明确点击操作按钮的预期结果时才适合采用卡片操作按钮。...比如一张卡片上显示了预计到达时间信息,某个具体的地址和一个汽车的 icon,很明显点击汽车的 icon 可以发起导航。但是比如一张显示着好友头像和名字的卡片,用户就不是很明确点击按钮后会放生什么?...•除了在手机上打开某个网页链接这种情况以外,卡片操作按钮触发的结果都应该是在手表上直接显示的。 •每张卡片上只允许有一个操作按钮。 •不要在卡片上放置命令菜单。...如果你将状态指示或语音热词置于屏幕底部时,系统会强制使用高度较小的提示卡片。若表盘边缘包含较强视觉元素,如数字或秒数跳动元素时,请将状态指示放置在屏幕中央。
Flutter的布局机制如何工作。 如何垂直和水平布局小部件。 如何构建一个Flutter布局。 这是在Flutter中构建布局的指南。 您将构建以下屏幕截图的布局: ?...然后本指南回过头来解释Flutter的布局方法,并说明如何在屏幕上放置一个小部件。 在讨论如何水平和垂直放置小部件之后,会介绍一些最常见的布局小部件。...如果您愿意,可以构建仅使用小部件库中的标准小部件的应用程序。 如何在Flutter中布置单个小部件? 本节介绍如何创建一个简单的小部件并将其显示在屏幕上。...它还显示了一个简单的Hello World应用程序的完整代码。 在Flutter中,只需几个步骤即可在屏幕上放置文本,图标或图像。 1.选择一个布局小部件来保存该对象。...使用Stack叠加容器(在半透明的黑色背景上显示其文本),放置在Circle Avatar的顶部。Stack使用alignment属性和Alignments偏移文本。
首先指定 grid 作为 display 方法,然后在同一个元素上写入 place-items: center。...这可以自动放置这些子元素。这些子元素的基本最小值为 150px ,最大值为 1fr ,这意味着在较小的屏幕上,它们将占据整个 1fr 宽度,当它们达到 150px 宽度时,它们将开始流到同一条线上。...使用 auto-fit ,当它们的水平尺寸超过 150px 时,框将拉伸以填充整个剩余空间。...排列布局:justify-content: space-between 图片 对于下一个布局,这里要主要说明的是 justify-content: space-between ,它将第一个和最后一个子元素放置在其边界框的边缘...对于这些卡片,它们被放置在 Flexbox 显示模式中,使用 flex-direction: column 将方向设置为 column。 这会将标题、描述和图像块放在父卡片内的垂直列中。
使用悬浮按钮要遵循以下规则: 建议只用一个悬浮按钮 悬浮按钮可以贴在纸片边缘或者接缝处,但不要贴在对话框、侧边抽屉和菜单的边缘 悬浮按钮不能被其他元素盖住,也不能挡住其他按钮 列表滚动至底部时,悬浮按钮应该隐藏...编辑 **卡片集**是**卡片**的一个平面布局 编辑 即使在同一个列表中,卡片的内容和布局方式也可以不一样。 编辑 卡片统一带有2dp的圆角。...编辑 编辑 ** 提示框(Dialogs) ** 编辑 Dialogs 用于提示用户作一些决定,或者是完成某个任务时需要的一些其它额外的信息。...不能出现一个以上的Snackbars。 Snackbars在移动设备上,出现在底部。在PC上,应该悬浮在屏幕左下角。 编辑 不一定要用户响应的提示,可以使用Snackbars。...字数统计不要默认显示,字数接近上限时再显示出来。 编辑 编辑 通栏输入框也可以有字数统计,单行的字数统计显示在同一行右侧 编辑 错误提示显示在输入框的左下方。
提供启动屏幕。系统会在应用启动时显示启动屏幕,并迅速将其替换为应用的第一个屏幕。启动屏幕的功能是给人一种印象,即您的应用程序快速且响应迅速,同时允许加载初始内容。...人们通过以下方式关闭卡片: 从屏幕顶部向下滑动 卡内容滚动到顶部时,可以从屏幕任意位置向下滑动 轻按一个按钮 工作表常用在无法实现复杂任务的、非沉浸式的模式和内容。...在传达重要信息或操作的情况下才使用警示框。通常情况下,弹出警示框意味着出现了问题。警示框会中断体验,需要点击才能关闭。所以要让用户认为打断是有必要的,否则不要随便用。 确保模态上的任务简单且集中。...除非是警示框,任何元素都不该出现在Popover上。在极少数情况下,当用户在Popover中执行操作后需要用到模态视图时,请在显示模态视图之前先关闭Popover。 通常为模态任务设置一个标题。...用户应该知道他们在APP中的位置以及如何到达下一个目的地。无论导航风格如何,操作路径必须符合逻辑,可预知易于遵循。一般情况下,一个页面只给用户提供一个入口。
静电说:不少同学在绘制阴影的时候,特别是卡片阴影的时候,都会有不少难度,或者把握不好其中的度,在本篇文章中,我们 一起来学习一下,如何让你在UI中绘制出更舒服的阴影效果。 ?...首先,咱们谈谈阴影使用的场景。 ? 我们使用阴影来强调特定的组件,创建深度以在屏幕中来创造一个特别的世界,并给出某些组件的特定状态。但是,我们在哪里,以及如何明智地使用它们呢?...场景01.按钮 我们可以为按钮使用阴影来显示一些不同的状态,例如悬停状态。也可以在默认状态下使用它。关键在于,使它们在整个按钮布局中保持平滑,柔软和融合。 ?...默认状态和悬停状态按钮 场景02.卡片阴影 卡片是UI中重要且可操作的组件。要使它们具有一定的深度,并将其视觉上放置在最上层,此时我们可以使用阴影。记住!要让它们漂浮起来。 ?...卡片中的阴影 场景03.特定图层阴影 如下图类似的操作会让用户去了解有关屏幕上特定元素的其他信息。它们将在几秒钟内处于活动状态,因此您需要使它们清晰并与背景中的元素产生最佳对比。
Swing 提供了许多比 AWT 更好的屏幕显示元素,使用纯 Java 实现,能够更好的兼容跨平台运行。 为了和 AWT 组件区分,Swing 组件在javax.swing....Swing组件 一个 Java 的图形界面,由各种不同类型的“元素”组成,例如: 窗口、菜单栏、对话框、标签、按钮、文本框等等,这些“元素”统一被称为 组件(Component)。...2.1 顶层容器 顶层容器属于窗口类组件,可以独立显示,一个图形界面至少需要一个窗口,例如: # 组件 描述 1 JFrame 一个普通的窗口(绝大多数 Swing 图形界面程序使用 JFrame 作为顶层容器...6 CardLayout 卡片布局,将Container中的每个组件看作一张卡片,一次只能显示一张卡片,默认显示第一张卡片。...显示窗口,前面创建的信息都在内存中,通过 jf.setVisible(true) 把内存中的窗口显示在屏幕上。
Master-Detail模板 –列表和详细信息页面将在一个页面本身中显示为拆分屏幕。 概述页面(OVP) –由多种样式的卡片组成。卡片可以包括条形图,图形。...OData集合应该始终是整个数据模型的主要实体。在这里,我们必须选择航空公司实体,因为它是主要实体。OData导航必须是必须在导航上显示的下一个实体。 7.单击下一个选项卡中的完成,将创建项目。...由于未放置任何UI元素,因此Fiori应用程序中不会显示任何标签或其相应的值。为了在应用程序中显示智能表,窗体,字段等,我们利用UI批注将UI元素放置/放置在Fiori应用程序上。...创建元数据扩展文件后,最重要的步骤是: 提供我们要进行UI注释的视图名称。 2.在“数据定义”中的“元数据扩展名”注释下方添加顺序,以显示“数据定义”和“元数据扩展名文件”之间的链接。...以下是构建元数据并使用UI注释正确放置后的Fiori应用程序。 使用所有UI注释和Fiori元素模板,现在可以构建类似Display的应用程序。
请注意,在第一种情况下,它是如何放置在左上位置 ( 0 0) 的,而在第二种情况下,它是如何放置在右上角 ( 100% 0) 的。 确保为不支持多背景的浏览器提供后备方案。...在鼠标移出时,元素将立即返回其初始状态。 因为我们只是增强了效果,所以我们绝对没有对旧浏览器造成任何伤害。 最终项目 让我们结合我们在本文中学到的大部分技术,为显示翻转卡片创建一个简洁的效果。...水平和垂直居中 接下来,我希望我们的卡片在屏幕上完全居中。为此,我们将利用灵活盒模型。 由于我们的页面将只包含这张卡片,我们可以有效地使用该 body 元素作为我们的包装器。...固定正面 参考上图;注意我们卡片的背面是如何默认显示的?这是因为,由于元素在标记中出现的位置较低,因此它会收到较高的 z-index. 让我们解决这个问题。...旋转卡片 现在是有趣的部分; 当我们将鼠标悬停在卡片上时,它应该翻转并显示卡片的背面。为了达到这个效果,我们使用了转换和 rotateY 函数。
一个显示在应用底部的材质小部件,用于在少量视图中进行选择,通常介于3到5之间。 底部导航栏由文本标签,图标或两者的多个项目组成,并放置在一块材料的顶部。 它提供了应用程序顶级视图之间的快速导航。...对于更大的屏幕,侧面导航可能更适合。 底部导航栏通常与Scaffold结合使用,在Scaffold.bottomNavigationBar参数中提供它。 底部导航栏的type会更改其条目的显示方式。...FlatButton 平面按钮是在材料组件部件上打印的部分,通过填充颜色对触摸作出反应。 ? IconButton 图标按钮是一个打印在材质小部件上的图片,通过填充颜色(墨水)对触摸作出反应。 ?...对话框,弹出框和面板 SimpleDialog 简单的对话框可以提供有关列表项的其他详细信息或操作。 例如,他们可以显示头像图标,以阐明潜台词或正交行为(如添加帐户)。 ?...ExpansionPanel 扩展面板包含创建流并允许轻量级地编辑元素。 ExpansionPanel小部件实现了这个组件。 ? SnackBar 带有可选操作的轻量级消息,简要显示在屏幕底部。
上述代码中使用了 Placeable 的 place 函数,它还有一个 placeRelative 函数可用于从右到左的语言设置中,当使用该函数时,它会自动对坐标进行水平镜像。...请注意,API 在设计上可阻止您尝试放置未经测量的元素,place 函数只适用于 Placeable,也就是 measure 函数的返回值。...实际上,如果您对某个项目进行两次测量,Compose 会抛出异常: △ 重复测量某个项目时 Compose 会抛出异常 布局动画示例 由于具备更强的性能保证,Compose 提供了新的可能性,例如为布局添加动画...假设有一个包含五个菜单项的 Column,如下图所示,它的显示基本上是正常的,但是可以看到,每个菜单项的尺寸却不相同。...您需要掌握一个原则: 只要可组合项或修饰符的参数可能频繁发生更改,都应当保持谨慎,因为这种情况可能导致过度组合。只有在更改显示内容时,才需要重组,更改显示位置或显示方式则不需要这么做。
使用容器元素(如: )来创建下拉菜单的内容,并放在任何你想放的位置上。 使用 元素来包裹这些元素,并使用CSS来设置下拉内容的样式。...html导航栏菜单的CSS部分: .dropdown类使用position:relative,这将设置下拉菜单的内容放置在下拉按钮(使用position:absolute)的右下角位置。....dropdown-content类中是实际的下拉菜单。默认是隐藏的,在鼠标移动到指定元素后会显示。 注意min-width的值设置为160px。你可以随意修改它。...注意: 如果你想设置下拉内容与下拉按钮的宽度一致,可设置width为100%(overflow:auto设置可以在小尺寸屏幕上滚动)。...我们使用box-shadow属性让下拉菜单看起来像一个”卡片”。 :hover选择器用于在用户将鼠标移动到下拉按钮上时显示下拉菜单。 看完了解释,现在有点懂了吗。
通常,插件在这里仅显示简短摘要,并提供指向详细结果的链接,有关示例请参见图 4。 视图层次结构中的最后一个元素实际上是一个专用视图,它显示特定插件的结果。例如,有些视图可显示测试结果,分析结果等。...首先要确定的是,哪些元素应显示在插件页面上以及每个元素应占用多少空间。通常,所有可见组件都使用简单的栅格映射到可用空间上。...您还可以根据屏幕的实际可见大小为一行指定不同的列布局。这有助于改善大屏幕的布局。在警告插件中,您将找到一个示例:在小型设备上,有一张可见的卡片可以在轮播中显示一张饼图。...如果要在较大的设备上打开同一页面,则会并排显示两个饼图,并且轮播会被隐藏。 卡片 当将插件信息显示为一个块时,通常会显示纯文本元素。通常,这将导致某些无关紧要的网页。...为了创建一个更具吸引力的界面,在具有边框、标题、图标等的卡片中显示此类信息是有意义的。
、lg:屏幕>=960px、xl:屏幕>=1200px .offset-{1到11} 在所有屏幕下的列偏移 .offset-{sm|md|lg|xl}-{1到11} 在指定屏幕下的列偏移 【显示隐藏】....jumbotron 创建一个大的灰色的圆角背景框 .jumbotron-fluid 创建全屏的没有圆角的背景框 【信息提示】 .alert 基类 .alert-{success、info、warning...注意使用bg-{...}不是理想的配色方案,不建议使用。 【卡片】卡片用于定义一块带圆角的区域。...bg-{primary、secondary、success、warning、danger、info、dark、light} 定义卡片的背景色,定义在卡片容器上 【边框】 .border 含有边框 ....,某一个折叠选项显示时其他选项就隐藏。
由于 Google I/O 应用使用了 Jetpack Navigation 实现不同界面之间的切换,这个挑战对导航图有怎样的影响,我们又该如何记录当前屏幕上的内容呢?...当您在搜索时,可以选择不同的标签来过滤需要显示的搜索结果,我们也会把当前生效的过滤标签显示在以下两个位置之一: 窄模式时位于搜索文本框下方,宽模式时位于搜索文本框的后面。...但我们想要充分利用额外的屏幕空间,而不是限制显示内容的宽度。在窄屏幕设备上,您会看到一列项目,它们会在点击时展开或折叠。...在宽尺寸屏幕上,这些列表项会转换为一格一格的卡片,卡片上直接显示了详细的内容。 △ 左图: 窄屏幕显示 Codelabs。右图: 宽屏幕显示 Codelabs。...这些独立的网格卡片是定义在 res/layout-w840dp 下的 备用布局,数据绑定处理信息如何与视图绑定,以及卡片如何响应点击,所以除了不同样式下的差异之外,不需要实现太多内容。
▲ 正确示范|界面没有任何的操作提示,用户就明白通过左右滑动屏幕来查看更多卡片,还知道卡片是以扇形为运动轨迹。 全力维护用户的注意力 在阅读的时候,总是会有事物分散我们的注意力。...▲ 错误示范|用户不知道如何查看很多的卡片,除了查看第一张卡片的详情,其他的卡片脱离了用户的掌控。 直接操作的感觉最棒 当能够直接操作物体时,用户的感觉是最棒的。...每个屏幕只提供一个操作主题 我们设计的每一个画面都应该有单一的主题,这样不仅能够让用户使用到它真正的价值,也使得上手容易,使用起来也更方便。...强烈的视觉层次感 强烈的视觉层次感是通过界面上视觉元素提供的清晰浏览顺序来实现的,也就是说,用户每次都能按照同一个顺序浏览同一些元素。弱化的视觉层次没有给用户提供如何浏览的线索,用户会感到困惑和混乱。...渐进展示 在每个屏幕上只显示必要的内容,如果用户在做选择,那么给他们显示足够的信息,然后在各自的页面上展示详情,避免在某个界面过度展示所有细节。
领取专属 10元无门槛券
手把手带您无忧上云