首页
学习
活动
专区
圈层
工具
发布

Human Interface Guidelines —— Popovers

Popover Popover是一个短暂的视图,当您点击某个控件或某个区域时,它会出现在屏幕上的其他内容上方。 通常,Popover包含指向其出现位置的箭头。...在iPhone的app中,因为位置有限,一般在全屏的模态视图中呈现信息,而不是在popover中。...一般来说,popover在不被需要时会自动关闭。 在大多数情况下,当有人在popover之外区域点击或选择popover中的项目后,popover应该关闭。...·将popover放在屏幕中适当的位置  popover的箭头应直接指向弹出它的元素。由于popover无法在屏幕上拖动,因此popover不应包含人们在使用popover时可能需要查看的基本内容。...·确保自定义popover看起来像popover 虽然您可以自定义popover的视觉方面,但不要设计出人们可能无法识别的popover。当包含标准控件和视图时,popover的展示效果最好。

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

    实现 antd 的 Popover 组件,可以很简单

    而且,就算你指定了 left,当左边空间不够的时候,也得做下处理,展示在右边: 而且当方向不同时,箭头的显示位置也不一样: 所以要实现这样一个 Popover 组件,光计算浮层的显示位置就是不小的工作量...这时候可以加上 dismiss 的处理: 现在点击其它位置,浮层就会消失,并且按 ESC 键也会消失: 也就是说 useFloating 是用来给浮层确定位置的,useInteractions 是用来绑定交互事件的...给 button 加一些 margin,我们试试其它位置的 popover 对不对: 分别设置不同 placement: top-end left-start left 都没问题。...如果完全自己实现,计算位置还是挺麻烦的,有 top、right、left 等不同位置,而且到达边界的时候也要做特殊处理。...它支持很多中间件,比如 offset 来设置偏移、arrow 来处理箭头位置,可以完成各种复杂的定位功能。

    1.5K10

    antd popover定位不准闪跳解决+自己实现popover库

    由于antd的popover底层的实现是套其他第三方的库,第三方库又用到了其他的前端组件, 所以锁心自己实现一个。...可以看见,第一次显示会在左边,后续显示位置都ok。所以思路就是让其在第一次显示时进行处理,顺便实现动画效果,不至于出现那么突兀。...另外,需要暴露出强制刷新方法,在某些情况下需要刷新函数,比如监听windows的resize事件,这样位置变化后,再点击,就不会出现到原来的位置了。...可以看看我的popover最终在H5编辑器(H 5-Dooring)里的效果,完全可以替代antd的popover组件且轻量. popover地址:https://www.npmjs.com/package.../yh-react-popover 里面有具体的使用介绍.

    2.7K51

    仿高德地图实现输入起点和终点规划路径并可切换

    概述 本文结合高德API和MapboxGL,仿照手机版高德地图实现用户输入起点和终点位置并模糊搜索选择具体位置,根据选择的起始点位置规划路径,并实现多条路径的切换展示。 实现效果 代码实现 1....实现思路 页面初始化的时候获取用户当前的位置,并设置为地图的初始化位置; 调用regeo接口设置当前城市; 通过inputtips实现起始点的模糊查询; 调用v5/direction/driving接口实现路径规划...:fetch-suggestions="querySearchStart" clearable placeholder="请输入起点位置...:fetch-suggestions="querySearchEnd" clearable placeholder="请输入终点位置...} .driver-popover-progress-text, .driver-popover-close-btn { color: #fff; } .driver-popover-prev-btn

    44310

    对话框、模态框和弹出框看起来很相似,它们有何不同?

    但是有了这个popover属性,浏览器会为你做这件事(如果你使用popover="auto")。 顶层存在 默认情况下,如果多个元素被定位在同一位置,浏览器会按照 DOM 的顺序对它们进行绘制。...利用 CSS 中的 z-index 属性,你可以根据具体情况决定其位置,使其偏离默认的顺序,这样你基本上可以决定自己的图层顺序。...据我理解,它将允许我们自动定位在最合适的位置,避免与窗口边缘发生碰撞。有点像 Popper 库今天所做的,一旦提议实现那么将可以在浏览器中直接使用。...如果用户没有触发它,将它移动到 DOM 中较早的适当位置。 当模态对话框关闭时:如果用户触发了它,将焦点返回到触发器。浏览器会对自动执行此操作。...对于 popover,只有在“有意义”的情况下才会执行 (请参考 popover 解释器)。如果用户没有触发它,将焦点移动到 DOM 中适当的位置。

    7.9K00

    基于 HTML5 Canvas 的拓扑组件 ToolTip 应用

    ToolTip显示的延迟间隔 toolTipDelay: 100, // 组件的ToolTip显示的情况下,如果鼠标移动到新的位置时...,getToolTip 会传入三个参数:data 代表 dataModel 中当前被选中的 data 对象,同时也是 propertyView 当前展示的 data 对象;isValue 代表当前鼠标位置是否在右侧属性值范围内...= new ht.ui.Popover(); popover.setContentView(htmlView); button.setPopover(popover1, 'hover'); button.addToDOM...在 HT 中使用 Popover 插件 在 HT 中也是可以使用 Popover 插件的,接下来我还是以 graphView 为例来介绍一下。 ?...和在 UI 中不同,Popover 并没有通过宿主调用 setPopover 进行配置,而是缓存在了 node 的私有变量 _popover 上,通过控制 Popover 的 hide() 和 show

    1.6K10

    使用组件的state机制实现屏幕取词

    右边弹出的窗口是由bootstrap组件popover来实现的。实现这个功能的基本思路如下: 1, 解析代码,确定代码中类型为IDENTIFIER字符串的起始和结束位置。...2, 在根据起始和结束位置,我们给该字符串添加一个span父节点 3, 把当前变量字符串对应的token对象和添加的span父节点对象关联起来。...popover窗口。...的值,使他变成20,这个改动就会里面反应到页面显示上,也就是popover控件的窗体会自动下架10个单位,在高度为20px的位置上显示。...在组件启动时,我们先把popover窗体挪动到界面之外,让用户看不到它的存在,一旦用户把鼠标挪动到某个变量字符串上时,包裹着变量字符串的span它会触发mouseenter事件,在响应该事件时,我们得到鼠标当前所在的位置

    1.5K21

    BuildAdmin10:ElementPlus的弹出框,真的用不了

    Element提供的el-popover组件即可实现弹出框,直接拷贝官网代码,定义了一个ContextMenu.vue组件,实现如下: trigger属性有click/focus/hover/contextmenu...在研究了popover之后,发现el-popover的缺点:必须在插槽中定义一个按钮用来触发弹出框。 在Playground中进行测试,在删除了reference的slot之后,就会报错。...上面也说了BuildAdmin没有使用el-popover,使用的el-popover渲染后的html元素。...通过对我使用的el-popover进行控制台查看元素,也证实了这一点: 所以,我使用的也是渲染后popover。...原因有二: 必须绑定触发元素(按钮),将tab插入提供的reference插槽比较麻烦 弹出框箭头的位置是根据触发按钮长度来确定的,无法修改 所以,最后将控制台中渲染后的原始元素拷贝过来,只保留弹出框部分

    1.4K00

    手把手教你用 Driver.js 搞定“新手引导”

    展开代码语言:JavaScriptAI代码解释conststeps=[{element:'#sidebar',popover:{title:'侧边菜单',description:'这里包含所有的功能模块入口...配合align属性,你可以把气泡精准地放在任何你想要的位置。3.样式定制虽然默认样式已经够用了,但产品经理总会有“把这个按钮改成品牌色”的需求。...{background-color:#ffffff;border-radius:8px;color:#333;}/*修改标题样式*/.driver-popover-title{font-size:18px...important;}.driver-popover-progress-text{color:#9ca3af!...对于位置调整,活用side​和align​就能搞定;对于样式修改,直接CSS覆盖是最快的方法。不过还是那句老话,引导步骤尽量控制在3-5步以内,过多的步骤会消耗用户的耐心,导致直接跳过。

    13910

    iOS OC swift 自定义 popover 泡泡

    .+ 开头 首先先看效果: popover.gif 灰色区域 底层视图 棕色 popover 泡泡不能超出的区域,popover 是不能超出屏幕或者离屏幕太近,否则效果不好。...棕色区域是可以设置的 红色 底层箭头视图的边框 白色 底层箭头视图的背景颜色 蓝色 自定义内容区域,在此区域(contentView)可以添加希望展示的内容 加号按钮 模拟了 sourceView 所在的位置...可以看到当 sourceView(加号按钮) 在不同地方的时候,popover 自动更改方向、调整箭头方向、位置以适应不同的 sourceView 类说明 open class KKPopover: UIView...: CGRect, size: CGSize) -> UIPopoverArrowDirection /// sourceRect: sourceView 相对于 self (KKPopover) 的位置...CGSize, direction: UIPopoverArrowDirection) -> Bool /// sourceRect: sourceView 相对于 self (KKPopover) 的位置

    3.4K70

    BOOtstrap源码分析之 tooltip、popover

    Tooltip.js Tooltip.scss 实现原理: 1、获取当前要显示tooltip的元素的定位信息(top、left、bottom、right、width、height等) 2、计算tooltip的位置...,是top、left、bottom、right其中一个 3、然后根据计算的位置值,运算出坐标值 4、给tooltip应用坐标值 源码分析: 1、ownerDocument:文档;包含两个对象:位置,一般情况下元素的50%的位置,但如果出现tooltip被left、top、right、bottom隐藏的时候,就需要重新计算和调整位置了。...的宽度、或者高度      6.5.2、然后计算出arrowDelta的值,隐藏值 * 2 –tooltip宽度 + tooltip宽度      6.5.3、设置三角的top或left百分比的值 Popover...(弹出框) 源码文件: Popover.js Popover.scss 实现原理 1、继承tooltip实现的 2、多了一个标题,还可以自定义content(里面可以插入input、button等交互控件

    2.3K60
    领券