美文网首页每日一记让前端飞Web前端之路
#每日一记#让我们优雅的扩大点击区域

#每日一记#让我们优雅的扩大点击区域

作者: 罗小黑写写文字 | 来源:发表于2017-08-06 00:52 被阅读83次
每日一记 - 但并不日更

每个和产品撕过逼的开发都应该知道,产品除了想要 ui 把按钮设计的再大、更大、还可以大之外,就希望开发把点击区域变得大大 大一点,让用户瞎着都能点中按钮。

恩可怜的开发如果撕不过,只能可怜的再把所有定位再重新计算一遍吗?T-T

那么今天也来优雅的解决一下。

今天这个方法学自 ionic 框架中的样式,后又在《CSS 秘密花园》这本书里也有讲到,今天在此普及一下。

想要在不影响现有布局的情况下,不增加多余元素的情况下,增大点击区域,我们可以使用 CSS 中的伪元素来实现。

::before ::after

::before::after两个伪元素,可以不用在 .html 文件中显式插入元素的情况下,增加两个dom节点。

<!-- 在 html 中 -->
<div>
  Hello World
</div>
/* 在 css 中 */
div::before,
div::after {
  content: '❤';
}

在浏览器中显示为:

❤ Hello World ❤

在浏览器检查器中显示为:

<div>
  ::after
  ' Hello World '
  ::before
</div>

所以我们利用这种特性,在 CSS 中设置伪元素来扩大点击区域,显然是最划得来的。

代码大改造

改造前 改造后

改造后的点击区域已经变大了一圈,整个过程没有修改原有的代码仅 css 增加了一个伪元素。

html 代码增加了一个 class 做对比 CSS 添加了一个伪元素 可点击区域示意图

实现原理

由于点击事件是绑定在元素上的,所以通过在内部添加伪元素的好处是,

  1. 伪元素使用绝对定位不会改变现有的文档流和布局尺寸
  2. 伪元素继承了元素的 cursor 属性,鼠标指针显示与元素保持一致
  3. 伪元素能触发事件并冒泡给元素

所以通过这样的方式,让我们不改变现有代码,仅添加一小段代码就可以优雅地扩大点击区域了。

JSbin

demo 源码

相关文章

  • #每日一记#让我们优雅的扩大点击区域

    每个和产品撕过逼的开发都应该知道,产品除了想要 ui 把按钮设计的再大、更大、还可以大之外,就希望开发把点击区域变...

  • 点击区域扩大

    之前有个需求,按钮很小会很难点到,于是就需要扩大点击区域,一个UIButton的分类和runtime能很好解决问题...

  • iOS  UIButton 优雅的扩大点击区域

    通过重写pointInside方法 hitAreaPadding 是传入的size 可以定义为属性 - (BO...

  • 扩大按钮点击区域

    参考自印第安的老斑鸠 参考了很多的文章,主要是有三个方法: 例如:按钮的大小是25pt * 25pt,想要的点击范...

  • 扩大视图点击区域

    导语 在工作中,经常创建一些视图(比如button),这时button很小,点击时,总感到不精准,有时我们会在这个...

  • 扩大UIButton点击区域

    当设计图上的给出按钮尺寸较小,我们将对应的资源文件放入UIButton中,比如只有12x12pt,在真机调试中会发...

  • 扩大button点击区域

  • 扩大按钮点击区域

    思路:建一个UIbutton分类,结合runtime更改按钮点击响应区域 实现代码: .h //// UIButt...

  • 扩大UIButton的点击区域

    创建一个UIButton的类别添加到项目中 在需要扩大按钮的点击范围处调用 注意:按钮扩大的范围必须在父视图内,超...

  • 扩大Button的点击区域

    最近遇到一个需要提高用户体验的问题:APP很多地方需要上传图片,上传图片之后就需要删除图片,然后删除图片一般比较小...

网友评论

    本文标题:#每日一记#让我们优雅的扩大点击区域

    本文链接:https://www.haomeiwen.com/subject/ygewlxtx.html