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


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 相关文章推荐
利用CSS3的flexbox实现水平垂直居中与三列等高布局
Sep 12 HTML / CSS
CSS3实现可关闭的下拉手风琴菜单效果
Aug 31 HTML / CSS
CSS3 animation实现简易幻灯片轮播特效
Sep 27 HTML / CSS
HTML5仿手机微信聊天界面
Mar 18 HTML / CSS
利用Canvas模仿百度贴吧客户端loading小球的方法示例
Aug 13 HTML / CSS
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
Dec 13 HTML / CSS
HTML5移动端开发中的Viewport标签及相关CSS用法解析
Apr 15 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
Dec 20 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
Nov 14 HTML / CSS
html5 冒号分隔符对齐的实现
Jul 31 HTML / CSS
CSS实现隐藏搜索框功能(动画正反向序列)
Jul 21 HTML / CSS
css弧边选项卡的项目实践
May 07 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
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
Vue中引入样式文件的方法
2017/08/18 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
python之验证码生成(gvcode与captcha)
2019/01/02 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
用CSS3写的模仿iPhone中的返回按钮
2015/04/04 HTML / CSS
以设计师精品品质提供快速时尚:PopJulia
2018/01/09 全球购物
求高于平均分的学生学号及成绩
2016/09/01 面试题
会计毕业生求职简历的自我评价
2013/10/20 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
文明礼仪标语
2014/06/13 职场文书
聘任书格式及范文
2015/09/21 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
HTML基本元素标签介绍
2022/02/28 HTML / CSS