iOS Safari浏览器下的focus行为和其他浏览器都一些明显不一致的地方,有时候会给开发带来困扰,这里就说说相关的细节知识,均源自于自己日常开发,希望可以给遇到类似问题的前端同行带来帮助。
文章关键字 ‘focus’
小tips: 元素focus页面不滚动不定位的JS处理
2019年09月19日,星期四有时候我们希望元素被focus的同时浏览器的不会发生滚动重定位,看起来似乎是个很棘手的问题,毕竟focus重定位是一个很重要的浏览器内置的用户体验行为,实际上,大家可能不知道,已经有新的API参数支持这种需求了。
CSS :placeholder-shown伪类实现Material Design占位符交互效果
2018年12月25日,星期二Material Design规范中占位符交互效果是这样的:focus输入框的时候,placeholder会位移到左上角作为一个label存在。以前我们要实现这种效果只能借助JavaScript,实际上,纯CSS就能搞定之,就是借助:placeholder-shown伪类实现。且目前在移动端兼容性不错,可以在实际项目中应用。究竟如何实现?有没有这么神奇?一起进来看看吧~
实力科普:为什么浮层或弹框一定要有叉叉关闭按钮?
2018年07月14日,星期六之前自己发了个安利LuLu UI组件的微博,其中有位同行对于弹框组件提了这么一个问题:大佬,这种info类型的,为什么还要带个x?明明有确定按钮,似乎这个叉叉按钮去掉也没什么事,是不是很多人有类似的疑问?我很早之前就有过这样的想法,而且还付诸实践,直接把几个提示框右上角关闭按钮去掉,好干净好清爽,而且功能也没什么问题,还洋洋得意。后来,不断学习和积累,才发现当初的我对交互设计和用户体验的认知还很浅薄。
详细了解CSS :focus-within伪类及其交互应用
2018年01月21日,星期日:focus-within
伪类原本设计的作用是原生表单元素focus
时候,祖先<form>
元素可以也有状态变化。
但是在我看来,:focus-within
功能之强悍,远远不是仅仅和祖先<form>
元素玩过家家这么简单。
理论上,只要页面上任意一个元素focus
,通过:focus-within
就能对页面上任意的元素进行样式控制…
借助HTML5 details,summary无JS实现各种交互效果
2018年01月15日,星期一HTML5 details, summary这两个标签元素内置交互行为,我们可以充分利用这种交互特性不借助任何JavaScript代码实现各种交互效果。当然,前提需要解决自定义以及outline等体验问题。本文就将带你深入探索这两个非常实用的标签元素。
HTML accesskey属性与web自定义键盘快捷访问
2017年05月15日,星期一可能很多小伙伴都不知道,我们只要在HTML代码上设置几个属性,就可以让浏览器支持我们自定义的快捷访问方式,而这个神奇的属性就是本文要介绍的,accesskey
属性。
HTML tabindex属性与web网页键盘无障碍访问
2017年05月13日,星期六HTML虽然入门简单,但是,要想日后深入,却要花费非常大量的时间,因为一些看似非常简单的属性,实际上牵扯到另外一个完整领域的知识。例如本文要介绍的这属性tabindex
,与web网页无障碍访问息息相关,而且是键盘访问领域的。
这些属性不仅可以触发浏览器层面的行为,本身对HTML的元素的交互特性甚至UI表现都会有影响。
CSS :focus伪类JS focus事件提高网站键盘可访问性
2017年04月23日,星期日所谓“键盘可访问性”,指的是用户只使用键盘访问网站的能力。例如,我们的iMac鼠标没电了,或者鼠标坏了,或者在智能电视中访问我们的网站,此时就只能依赖于键盘访问了。
我们只要平时注意HTML语义化,例如按钮不要使用<span>
,<div>
等标签,不要重置outline
,基本上键盘可访问性就已经及格了。
若想再进一步提供,就需要看看本文的内容了……
简单了解HTML5中的Web Notification桌面通知
2016年07月6日,星期三通知可以说是web中比较常见且重要的功能,私信、在线提问、或者一些在线即时通讯工具我们总是希望第一时间知道对方有了新的反馈,这个时候,就需要页面给予即使的通知。
在以前,我们的通知实现主要是通过闪烁页面的标题内容来实现,实现原理其实很简单,就是定时器不断修改document.title的值。
然而,这种提示有个致命的缺陷,就是用户的浏览器要一直是张开的。比方说用户浏览器最小化,标题就看不见,自然就无法及时get到有新消息的信息。
不过不要担心,Web Notification就可以很好地解决上面的痛点…