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


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实现阅读进度条
Feb 27 HTML / CSS
一款利用html5和css3实现的3D滚动特效的教程
Jan 04 HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
Jul 01 HTML / CSS
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
Dec 30 HTML / CSS
详解CSS 3 中的 calc() 方法
Jan 12 HTML / CSS
前端canvas水印快速制作(附完整代码)
Sep 19 HTML / CSS
html5指南-5.使用web storage存储键值对的数据
Jan 07 HTML / CSS
html5使用canvas绘制文字特效
Dec 15 HTML / CSS
HTML5本地存储之Web Storage详解
Jul 04 HTML / CSS
html5唤起app的方法
Nov 30 HTML / CSS
HTML5 Blob 实现文件下载功能的示例代码
Nov 29 HTML / CSS
详解淘宝H5 sign加密算法
Aug 25 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
YII实现分页的方法
2014/07/09 PHP
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
详解php设置session(过期、失效、有效期)
2015/11/12 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
javascript的delete运算符知识点总结
2019/11/19 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
Python的另外几种语言实现
2015/01/29 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
pandas带有重复索引操作方法
2018/06/08 Python
Python中的枚举类型示例介绍
2019/01/09 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
实习自荐信
2013/10/13 职场文书
应届生幼儿园求职信
2013/11/12 职场文书
大学四年个人自我小结
2014/03/05 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
北京故宫的导游词
2015/01/31 职场文书