当前位置: 首页 > article >正文

H5: 按钮的点击热区

简介

按钮,尤其是手机端使用的页面按钮,很需要热区,避免用户点击困难。

分析

1.不改变原有的样式
2.扩大可点击范围

具体实现

<template>
  <div class="iconBtnBox">
    <div
      :class="props.widthHeight ? 'iconBtnFixed' : 'iconBtnPadding'"
      :style="{
        '--hotPadding': `-${props.hotPadding}px`,
        '--widthHeight': `${props.widthHeight}px`
      }"
    >
      <slot />
    </div>
  </div>
</template>

<script setup lang="ts">
  import { withDefaults, defineProps } from 'vue'

  const props = withDefaults(
    defineProps<{
      // hotPadding 与 widthHeight 选择传递一个即可,或都不传
      /**
       * 自适应放大的热区扩大值(单位是px)
       */
      hotPadding?: number
      /**
       * 固定的热区宽高(单位是px)
       */
      widthHeight?: number
    }>(),
    {
      hotPadding: 5
    }
  )
</script>

<style scoped lang="less">
  .iconBtnBox {
    position: relative;
    &:active {
      opacity: 0.6;
    }
  }
  .iconBtnFixed::before {
    content: '';
    width: var(--widthHeight);
    height: var(--widthHeight);
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(50%, -50%);
  }
  .iconBtnPadding::before {
    content: '';
    position: absolute;
    top: var(--hotPadding); /* 增大点击热区的顶部 */
    right: var(--hotPadding); /* 增大点击热区的右侧 */
    bottom: var(--hotPadding); /* 增大点击热区的底部 */
    left: var(--hotPadding); /* 增大点击热区的左侧 */
  }
</style>

最后

觉得有用的朋友请用你的金手指点一下赞,或者评论留言一起探讨技术!


http://www.kler.cn/news/161030.html

相关文章:

  • 解析操作系统是如何启动起来的?
  • Django 模板引擎 (四)
  • 分享5款在各自领域遥遥领先的软件
  • 【IEEE独立出版】2024第四届神经网络、信息与通信工程国际学术会议(NNICE 2024)
  • 从cot到agent的survey视频笔记
  • 2023.12.4 GIT的概念和组成
  • 几分钟在Ubuntu搭建本地Emlog博客网站并发布至公网无需购买域名服务器
  • 计网Lesson5 - MAC 地址与 ARP
  • 51单片机程序
  • 使用广播机制将for循环转为矩阵运算
  • matlab 点云放缩变换
  • [linux] 解压缩xz
  • 高精度加法,减法,乘法,除法(上)(C语言)
  • Doris 编译错误 error: No best alternative for libs/context/build/asm_sources
  • Python计算两个给定单词之间相同字符的数量
  • methods
  • kafka3.6.0部署
  • 分享一个基础面试题---手写call
  • UDP Socket API 的讲解,以及回显服务器客户端的实现
  • 如何在Linux上部署1Panel运维管理面板并远程访问内网Web端管理界面
  • 图像瞎总结
  • 深入了解MySQL临时表的使用和优势
  • 简谈PostgreSQL的wal_level=logic
  • RT_Thread_使用FAL组件配置stm32f407片上flash读写
  • 亚马逊云科技re:Invent,生成式AI正在彻底改变开发者的工作方式
  • 无与伦比的夜景增强技术解决方案
  • 【智能家居】二、添加火灾检测模块(烟雾报警功能点)
  • 普华永道:国有企业要动态布局和管理供应商资源池
  • 【c】杨辉三角
  • FreeRTOS系统延时函数分析