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

UI界面视觉平衡的终极指南

如果将它们稍稍改变一下,效果是不是不一样了? ? 其实我只是对下面的条形进行了视觉补偿处理,将长度延长了20px,以补偿下方条形尾部的间隙,使两个条形在视觉上平衡。 ? 还有一些更复杂的形状案例。...我想介绍的第一种方法适用于各种网页和APP的界面中,即文字的高度基于大写字母的最高高度。 ? 基本上,文字的上下距离按钮边缘的距离是相等的。...Cancel和OK用x高度对齐法就有点太高了。 ? 图标按钮的情况与文本按钮略有不同。我们把“发送”图案放在一个圆形按钮的背景上。你认为哪种图标在视觉上更平衡? ?...而在第二个方案中,我们移动了图标的位置,使图标锐利的突出与圆形边缘等距。 ? 所以如果你要输出给开发人员,那么最好偏移一些距离,以便将图形维持在视觉中心。 ?...此外,Circe和Geometria的字母比圆还要宽,但即使它们的高度和宽度相等,我们也能看到这四个“肚子”,就好像它们吃得太多了。 ?

2.5K40

Material Design — 菜单(Menus)

自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Material Design与iOS中的组件(顺便学学英语),以便今后在使用的时候完全不虚!...行为 滚动 替代 Simple Dialogs ---- 用法 菜单是与按钮,动作,点或其他控件交互时出现的临时材料,至少包含两个菜单项。...具有动态内容的菜单可能具有其他行为,例如:将先前使用的字体放在菜单的顶部;订单可以根据用户操作进行更改。 菜单嵌套 菜单项可以显示嵌套的子菜单。...理想情况下,嵌套的层级都需要做显示,因为很难用嵌套多层的子菜单进行导航。 ? 菜单项例子 不可用的操作 将操作显示为不可用(如置灰)而不是将其删除,让用户知道它们可以在正确的条件下存在。...将菜单放置在触发菜单元素的下方会将其与上下文环境分开(如下图)。 ? 关闭菜单 可以通过点击菜单外部或点击触发菜单的元素(如果可见)来关闭菜单。 选择一个菜单项后也应该关闭菜单。

5.8K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Material Design —卡片(Cards)

    自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Material Design与iOS中的组件(顺便学学英语),以便今后在使用的时候完全不虚...例如,将主要内容放置在卡的顶部,或使用排版来强调最重要的内容。 图像可以强化卡片中的其他内容。 但是,它们在卡内的大小和位置取决于图像是主要内容还是用于补充卡片上的其他内容。...支持的手势 卡片手势应始终在卡片集合中实施。 支持的手势包括: 滑动手势(swipe gesture)可以在每张卡片上使用。限制视图内的轻扫手势,使其不会彼此重叠。...超过最大卡片高度的卡片内容会被省略,内部不会滚动,但可以扩展卡片。 一旦展开,卡片可能会超过视图的最大高度。 在这种情况下,卡片将随卡片集合一起滚动。 ? ?...左:卡片可留有展开入口    右:手机端不要在卡片内放置可滚动区域,会存在两条很难分开的滚动条 ?

    4.3K100

    【CSS】253- 从原型图到成品:步步深入 CSS 布局

    CSS 的玩法可与 SKetch 或者 Photoshop 的玩法不一样。 在本文中,我将向你展示如何以统筹全局的思维实现 CSS 布局,根治布局难产的顽疾。...此空间的大小也由默认样式控制:p 标签的顶部和底部都有 margin。 你也会注意到按钮列表的圆点,以及列表的缩进行为。这些也都是默认样式。我们马上就要修改这些默认样式了。...(在 StackOverflow 查看更多详解) 横排按钮 要横排按钮有好几种方式。 一种就是设置 Flex 子项的对齐方式。你应该对设置对齐方式很熟悉,每个富文本编辑器顶部都有这种功能的按钮: ?...如果这几个按钮可以不占满整行会更好。所以得换一种方式。 这次,我们给每个列表项设置一个右侧的 margin,把它们分隔开来。还要给整个推文组件设置一个边框,以便我们能够直观地衡量效果。...我们在这儿做了些微调,来提升按钮的可访问性: 特性 aria-hidden=”true” 使屏幕阅读器忽略此图标。 sr-only 类是 Font Awesome 内置的类。

    4.4K51

    【愚公系列】2023年12月 GDI+绘图专题 Rectangle

    它们在处理矩形 5.运算符 Rectangle 结构支持相等性运算符 == 和不相等性运算符 !=,这些运算符用于比较两个矩形是否相等或不相等。...10, 20, 30, 40); bool areEqual = rect1 == rect2; // 返回 true,rect1 与 rect2 相等 描述:== 运算符用于比较两个矩形是否相等,即它们的位置和尺寸是否完全相同...= rect2; // 返回 true,rect1 与 rect2 不相等,因为它们的位置不同 描述:!= 运算符用于比较两个矩形是否不相等,即它们的位置或尺寸有任何一个不同。...示例: 6.案例 以下是一个完整的WinForms应用程序示例,演示如何使用GDI+绘制一个圆角彩色矩形按钮,并支持点击事件: using System; using System.Drawing; using...然后,在MainForm中创建了一个窗体,将这个自定义按钮添加到窗体上,并订阅了按钮的Click事件。当按钮被点击时,会弹出一个消息框。你可以根据你的需求进一步自定义按钮的外观和功能。

    24911

    目录

    ,开始使用Tkinter 学会使用小部件,例如按钮和文本框 使用几何管理器控制应用程序布局 通过将键盘单击与Python函数相关联,使你的应用程序具有交互性 在掌握了每个部分末尾的练习题后,会让你通过两个应用程序将所学内容融会贯通...在之前的两个代码中都设置sticky为,将每个位置设置在其网格单元的顶部中心:"n"LabelsLabel import tkinter as tk window = tk.Tk() window.columnconfigure...从左按钮开始。按下此按钮时,应该将标签中的值减小1。要执行此操作,需要知道两件事: 你如何在中获取文字Label? 如何更新中的文字Label?...为了使两个按钮进入同一列,你需要创建一个Frame名为的小部件fr_buttons。根据草图,两个按钮应垂直堆叠在此框架的内部,并btn_open在顶部。...通过将和参数设置为5,可以在每个按钮周围放置5个像素填充。仅具有垂直填充。由于它位于顶部,因此垂直填充使按钮从窗口顶部向下偏移了一点,并确保它和之间有一个小的间隙。

    29.8K20

    UITableView在Flutter中是什么?

    以便根据 index 设置不同样式的分割线。...在CustomScrollView中,这些彼此独立的、可滚动的Widget被称为Sliver。...接下来我们考虑一个更加复杂的问题:在某些情况下,我们希望获取视图的滚动信息,并进行相应的控制。比如,列表是否已经滑到底(顶)了?如何快速回到列表顶部?列表顶部是否已经开始,或者是否已经停下来了?...随后,在视图构建方法build中,我们将ScrollController对象与ListView进行了关联,并且在RaisedButton中注册了对应的回调方法,可以在点击按钮时通过_controller.animateTo...Top 按钮,根据 isToTop 变量判断是否需要注册滚动到顶部的方法 RaisedButton(onPressed: (isToTop ?

    5.6K10

    为啥你的UI界面感觉乱?这7个常见问题一定要避免

    适当的填充和间距可使布局看起来整洁有序,同时使读者更容易阅读和理解信息。 ‍ 在逻辑块周围应设置相同大小的空间(例如,在顶部和底部以及左侧和右侧)。...如果空间不均匀,您的页面将显得凌乱,并且用户可能不会平等地考虑每个部分。 ‍ 填充太小意味着用户无法将内容分解为逻辑块。为了防止逻辑部分混合在一起,请将它们分开并在它们之间插入较大的空间。 ‍...a.保持留白 如果您将两个完全不同的元素放置在彼此非常靠近的位置,那么用户将不会理解哪个元素是“主要”元素。这就是为什么我们可以说对比不仅是对元素应用不同的视觉样式,而且还涉及使用留白的艺术。...这是因为有时为了使元素形成对比,您需要使用空格分隔它们。 ‍ 留白对于使您的内容易于用户阅读很重要。当然,留白可能会被不正确地使用:有太多的留白或将太多的内容塞满了一个很小的区域。...有些设计师喜欢用免费的图标,这些图标单个看起来都不错,但是一旦放到一起,就不太协调了。那么如何来避免这种混乱呢? · 线宽-调整大小后,所有图标的线宽应相等。否则,它们不会非常明显。

    1.4K40

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

    两个数之间的比值越高,颜色之间的相对亮度就越大。...头像:40dp 图标:24dp 两者的触摸目标:48dp 触摸目标示例 触摸目标高度:48dp 按钮高度:36dp 触摸目标和按钮示例 分组项目 把相关的项目放在一起,对那些视力低下或者在屏幕上聚焦困难的用户是有帮助的...重要操作:将重要操作放在屏幕的顶部或底部(使用快捷方式即可访问) 相关项目:将相似层级的相关项目放在彼此相邻的位置 正确示例 通过把重要的操作放在屏幕顶部,使它们在层次结构中显得更重要。...,它们使用什么工具,以及如何使用这些工具。...这意味着按钮应该设置成按钮、复选框应该设置成复选框,以便将控件的类型和状态正确传达给用户。如果一个元素是从一个原生的 UI 元素上扩展或继承的,他会获得父元素的角色。

    4.8K40

    六、WebApp 二手信息站点页面制作(IVX 快速开发教程)

    ): 该页面的主要分为 3 个大块,分别是: 顶部标题栏 顶部下分类与轮播页 网页中部展示内容信息 底部的页尾 这三个大块还可以细分,顶部标题栏 分为 左侧站点信息、 搜侧搜索 与 发布内容区域;顶部下部分可分为...我们根据基本的 行 和 列 制作网站标题头: 我们可以看到,该标题头可以当做是两个行,左侧一个、右侧一个;在此可以将者两个内容放在一个行中,这两个行的宽度各为 50%,左侧行的 水平对齐 为 左对齐,...在此需要注意,标题 左侧栏 需要放在标题 右侧栏 之下。...为 10 即可让该文本距离左侧有一定距离: 接下来我们在 标题右侧行 中添加 文本组件 以及两个 按钮组件,并且给这 3 个组件设置相同的高度,使这 3 个组件能够统一高度美观,在此也将他们的文本内容...接下来我们在左侧分类内容列中创建一个 按钮组件,设置文本为 “手机:华为、小米、OPPO”、宽度为 100%、高度为 50px: 随后将该按钮复制 6 个并修改其对应的文本,此时按钮就可以充满整个高度

    1.9K30

    小程序自定义单页面、全局导航栏

    所以想了下第二种方案,自定义导航栏既可以实现产品的需求还可以满足UI的设计美感,在顶部空白处加上返回首页的按钮,这样和返回按钮还对称(最终如图所示,顶部导航栏是个背景图片,分两块组合起来)。...2、在app.json window 增加 navigationStyle:custom ,顶部导航栏就会消失,只保留右上角胶囊状的按钮,如何修改胶囊的颜色呢;胶囊体目前只支持黑色和白色两种颜色 在app.josn...,全局配置放在app.json文件里,单页面配置放在自定义页面配置文件里。...4、因为自定义导航栏每个页面都要写,所以把导航栏封装了公共组件,这样只需要在每个页面引入即可。...亲自试了下,在低于7.0版本的微信中,如果采用单页面自定义导航栏,会出现两个导航栏,这时候通过判断版本号不要再渲染自定义的导航栏组件了,在页面的配置文件里写上title名,还有相应的背景色,这样就会显示自带的导航栏了

    2.1K20

    小程序 - 效果处理之技巧合集(更新中...)

    10 至于返回顶部按钮,因为是要固定在页面底部的,所以可以不放在scroll-view组件中,这里我放进去了。...47 48 然后返回顶部这个按钮的样式就没啥好说的了。 49 50 根据自己想要的效果随便设置了,但是fixed固定定位肯定是少不了的。...65 66 Floorstatus这里是定义返回顶部按钮的初始渲染状态,初始值为false, 67 68 这样wx:if进行判断为否的话,view那条代码就不会被渲染,我们在页面中就看不到按钮...98 99 至于返回按钮的那个点击事件goTop,原理上就是要点击他,改变scroll-view的高度值,所以在函数中,直接setData,改变高度值为0,反映到页面上的效果就是页面返回到了顶部。...解决方法有两种: 1.百分比 2.换结构 百分比的方法就是:整个屏幕page给100%的高度,,顶部的定位条占一定的百分比的高度,而scroll-view占剩下的百分比的高度。

    1.4K90

    HarmonyOS应用开发-低代码开发登录页

    如果需要添加,我们可以把常量类 Const.ts 放在和 images 文件夹平级的位置,添加 Const.ts 之后的项目结构如下: ├──entry/src/main/ets /...然后我们拖入图片组件(Imgae),设置图片宽高均为 100vp(和Row的高相等)。 图片的Src(图片存储路径)设置为app自带的默认图标,至此我们的登录页应用图标就显示出来了。...设置组件居中; 设置组件的尺寸(Size),宽度(Width)为 94%,高度(Height)为 30vp; 设置组件位置为绝对定位(Position),距离页面顶部 430vp,距离左侧为 3%; 接着...; 组件位置为绝对定位(Position),距离左侧为 50%; ⑤ 放置登录按钮 这一步是最简单的,制作登录按钮部分,只需要一个按钮组件(Button)和一个文本组件(Text)。...如果有需要将 .visual 页面转换为 .ets 文件,我们可以点击右上角的转换按钮。 此操作能够将低代码界面转换为 ArcTS 的代码。 注意:转换完之后原有的 .visual 文件会被删除!

    4392423

    【JSjQuery——功能实现】传送门(蓝桥杯真题-2458)【合集】

    为了解决这个烦恼,优秀的产品研发团队发明了一种类似传送门的功能,以便用户能通过它快速定位到感兴趣的内容。这个功能也被通俗地比喻为“电梯”。...具体需求如下: 点击页面侧边的顶部、中间或底部按钮,页面滚动到顶部、中间或底部对应的范围内。这三个范围的设定如下: 顶部:滚动条距离页面顶部 0 ~ 960px(不包含 960)的范围。...当页面滚动到顶部、中间或底部位置时,对应的侧边按钮(即,顶部、中间或底部按钮)添加激活样式(即 **.active-color**),其余按钮样式变为默认(即 **.default-color**)。...0,并使用 box-sizing: border-box 使元素的宽度和高度包含内边距和边框。...a { cursor: pointer; }:将链接的鼠标指针样式设置为手型。 #top、#middle、#foot:分别设置顶部、中间和底部区域的宽度、高度、居中显示和背景图片。

    3500

    一个创建产品动画说明视频的新手指南

    我打算解决的问题 如何重新调整您的当前资产和艺术作品,以便使用Adobe After Effects为产品视频创建动画元素。我将向您展示动画的基本概念和简单的技巧,为您的视频提供专业的指导。...让我们开始吧… 1.从Photoshop导出 尝试使一切都是偶数尺寸并将每一部分你想让其动起来的放在单独一层。文件夹(folders)内的层会导致问题(至少在本教程中是这样)。...(时间轴快速指南) 由于这是针对动画初学者和对After Effects知之甚少的人,下面是您应该在时间轴上看到的内容: 左侧的眼睛图标显示/隐藏每个图层 右侧的三角形,这是你如何访问所有的图层属性,并最终使它们动起来...(宽度和高度值相关联,如果要单独设置值,请单击左侧的小链接图标。) 让内容移动! 将光标元素拖到合成的边界之外(所以我们可以稍后再来)。...在logo上选择您的两个位置关键帧,然后按按钮,如图所示(请参见下面的蓝色突出显示的按钮): ? 对于位置,我们需要拆分X和Y值。

    3K10

    Figma也可以用时间轴做超级流畅的动画了

    搜索到后,只需点击安装按钮即可。 接下来我们添加一个新的Figma文件,从下拉菜单中选择Plugins / Motion。会打开如下的面板。 ? ? 002. 如何使用? 接下我们看看如何使用它。...这个界面是不是非常像Figma的UI?嗯,它对新用户非常友好。 在顶部有一个选项卡,它们是动画名称,下面是工具栏,左侧面板以及带有关键帧的时间轴。您可以为任何文件添加很多动画。 ?...将矩形放置在靠近Frame左角的位置,以便在右侧留出一些空间来移动它。 ? 现在转到Motion,然后单击X属性上的“添加关键帧”按钮。 ? 我们的动画将持续500毫秒。...转到“Motion”,然后在0ms和500ms时间位置上为Y和Height添加两个关键帧。 ? 选择结束的Y关键帧并将其值更改为275,对“高度”重复相同的操作,将其值设置为50。单击“播放”。 ?...因此,我们的圆圈应向下移动,然后触摸底部,然后再更改其高度。 在700ms时间位置上为高度再添加一个关键帧,值为50。将先前的高度关键帧更改为100。 ? ? 看起来好了那么一点,但还不够完美。

    20.5K45

    CSS 中你需要知道 auto 的一切!

    在本文中,会先解释auto的工作方式以及如何最大程度地利用auto的技术细节,当然,会配合一些用例和示例。 简介 auto关键字的使用因属性而异。 对于本文,我将在每个属性的上下文中解释值。...手机和 PC 之间的宽度不同 ? 我们有一组按钮。在移动设备上,我们希望它们彼此相邻(每个按钮包装器占据其父元素的50%),而在桌面设备上,每个按钮都应该占据其父元素的全部宽度。该怎么做?...CSS .group { display: flex; } .group__item { width: 50%; } 对于 PC,我们每个项需要都取全宽。...element { margin-left: auto; margin-right: auto; } 根据CSS规范: 如果margin-left和margin-right值均为auto,则它们的使用值相等...具有flex:auto的项目将根据其宽度和高度来调整大小,但它可以根据可用的额外空间来增大或缩小。 在研究本文之前,我不知道这一点!

    5.5K30

    GridBagLayout 以及 GridBagConstraints 用法「建议收藏」

    ,anchor有两种值,绝对和相对的值分别有 若干个,文档中有,可自行查看 weightx:行的权重,通过这个属性来决定如何分配行的剩余空间 weighty:列的权重,通过这个属性来决定如何分配列的剩余空间...1.要明确一点概念:每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,称为显示区域。...例如:在一个很大的窗口(如300*300)中添加两个按钮(也可以是面板)(原始大小 40*30),默认的,你会发现两个按钮分别处于上下两个等大小的区域中,且只占用了一小部分,没有被按钮占用的区域就被称为额外区域...gridx=0,gridy=0时放在0行0列。 gridwidth,gridheight —— 用来设置组件所占的单位长度与高度,默认值皆为1。...的对象出来,以便GridBagLayout使用。

    1.6K30
    领券