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


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 media queries + jQuery实现响应式导航
Sep 30 HTML / CSS
CSS3实现跳动的动画效果
Sep 12 HTML / CSS
用CSS禁用输入法(CSS3 UI规范)实例解析
Dec 04 HTML / CSS
发现两个有趣的CSS3动画效果
Aug 14 HTML / CSS
Css3新特性应用之视觉效果实例
Dec 12 HTML / CSS
浅谈CSS3中display属性的Flex布局的方法
Aug 14 HTML / CSS
css3 矩阵的使用详解
Mar 20 HTML / CSS
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
Aug 24 HTML / CSS
HTML5添加禁止缩放功能
Nov 03 HTML / CSS
canvas拼图功能实现代码示例
Nov 21 HTML / CSS
CSS 还能这样玩?奇思妙想渐变的艺术
Apr 27 HTML / CSS
html form表单基础入门案例讲解
Jul 21 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
php生成excel文件的简单方法
2014/02/08 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
php DES加密算法实例分析
2019/09/18 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
JQuery 风格的HTML文本转义
2009/07/01 Javascript
js里的prototype使用示例
2010/11/19 Javascript
初识Javascript小结
2015/07/16 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
Angular value与ngValue区别详解
2019/11/27 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
python如何制作英文字典
2019/06/25 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
Django如何批量创建Model
2020/09/01 Python
Django实现随机图形验证码的示例
2020/10/15 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
班长岗位职责
2013/11/10 职场文书
学徒工职责
2014/03/06 职场文书
岗位职责怎么写
2014/03/14 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
压缩Redis里的字符串大对象操作
2021/06/23 Redis
使用nginx配置访问wgcloud的方法
2021/06/26 Servers