小程序实现悬浮按钮的全过程记录


Posted in HTML / CSS onOctober 16, 2021

前言

在日常小程序开发中,我们可能会有这样的需求,将按钮悬浮,不随着页面的滑动而改变位置,例如文章详情页的分享按钮,我想做成悬浮的样子,或者首页设置一个悬浮按钮来实现一些可扩展的功能,既美观又方便实用

实现悬浮按钮我将从两方面进行讲解,一个是实现图片按钮,另一个是将按钮进行悬浮。

图片按钮实现

在小程序提供的button组件中,没有单独将图片设置成按钮的功能,虽然小程序没有天然的组件支持,但是我们可以自己实现这样的效果

先上代码

页面代码

<!--pages/content-detail/content-detail.wxml-->
<button plain='true'   class="circle">
  <image mode='aspectFill' src='/images/icon/collect.png' class='image'></image>
</button>

css样式代码

.circle[plain] {
  padding: 0;
  border: none;
  width: 64rpx;
  height: 64rpx;
}
​
.image {
  width: 64rpx;
  height: 64rpx;
}

circle是按钮的类,image是图片的类

代码很简单,小蛋为大家解释下上面的代码

  • 隐藏按钮的显示
     

我们是要将图片显示出来,按钮包装的是图片,所以要将按钮隐藏,plain='true' 这个属性即可实现。

  • 隐藏按钮的边框
     

除了要隐藏按钮,还需要将其边框进行隐藏,对应的css样式为:border: none ,这里要注意,css的类上一定要加 [plain]
例如 .circle[plain] ,不加的话边框可能不会消失。

  • 图片和按钮对齐
     

图片的大小需要和按钮的大小保持一致,为了做到对齐,button中的css样式要设置padding:0

悬浮按钮实现

图片按钮设置好了,我们就要对其进行悬浮进行实现,要达到悬浮的效果只需要将按钮样式的position设置为fixed即可

.circle[plain] {
  display: flex;
  margin-right: 40rpx;
  right: 0;
  position: fixed;
  bottom: 15%;
  padding: 0;
  border: none;
  width: 64rpx;
  height: 64rpx;
}

position是位置属性,它有许多不同的值,我们来看下官方给出的fixed的定义

不为元素预留空间,而是通过指定元素相对于屏幕视口(viewport)的位置来指定元素位置。元素的位置在屏幕滚动时不会改变。打印时,元素会出现在的每页的固定位置。fixed属性会创建新的层叠上下文。当元素祖先的 transform 属性非 none 时,容器由视口改为该祖先。

悬浮按钮的代码我们就已经完全实现了,我们来看下具体的效果

小程序实现悬浮按钮的全过程记录

总结

整个悬浮按钮的实现其实代码量并不多,主要还是要对css的知识要掌握的更透彻,实现起来就没那么难,悬浮按钮的实现只是一盘小菜

到此这篇关于小程序实现悬浮按钮的文章就介绍到这了,更多相关小程序实现悬浮按钮内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
纯CSS实现聊天框小尖角、气泡效果
Apr 04 HTML / CSS
实例教程 纯CSS3打造非常炫的加载动画效果
Nov 05 HTML / CSS
CSS实现半透明边框与多重边框的场景分析
Nov 13 HTML / CSS
CSS3关于z-index不生效问题的解决
Feb 19 HTML / CSS
html5开发之viewport使用
Oct 17 HTML / CSS
HTML5未来发展趋势
Feb 01 HTML / CSS
解析HTML5中的新功能本地存储localStorage
Mar 01 HTML / CSS
HTML5+WebSocket实现多文件同时上传的实例
Dec 29 HTML / CSS
phonegap常用事件总结(必看篇)
Mar 31 HTML / CSS
用canvas画心电图的示例代码
Sep 10 HTML / CSS
浅析HTML5页面元素及属性
Jan 20 HTML / CSS
html网页引入svg图片的4种方式
Aug 05 HTML / CSS
能用CSS实现的就不要麻烦JavaScript了
浅析CSS在DevTools 中架构演变
CSS布局之浮动(float)和定位(position)属性的区别
Sep 25 #HTML / CSS
Canvas绘制像素风图片的示例代码
Canvas如何做个雪花屏版404的实现
使用canvas对video视频某一刻截图功能
Sep 25 #HTML / CSS
使用CSS实现一个搜索引擎的原理解析
You might like
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
用JS剩余字数计算的代码
2008/07/03 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
python调用windows api锁定计算机示例
2014/04/17 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
Python读写ini文件的方法
2015/05/28 Python
django rest framework之请求与响应(详解)
2017/11/06 Python
python利用微信公众号实现报警功能
2018/06/10 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
python批量修改ssh密码的实现
2019/08/08 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
消防安全管理制度
2014/02/01 职场文书
关于环保的建议书
2014/05/12 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang
MySQL中日期型单行函数代码详解
2021/06/21 MySQL
MySQL 逻辑备份 into outfile
2022/05/15 MySQL
前端使用svg图片改色实现示例
2022/07/23 HTML / CSS