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


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实现的tab选项卡代码分享
Dec 09 HTML / CSS
CSS Grid布局教程之什么是网格布局
Dec 30 HTML / CSS
详解HTML5通讯录获取指定多个人的信息
Dec 20 HTML / CSS
HTML5的文档结构和新增标签完全解析
Apr 21 HTML / CSS
html5-Canvas可以在web中绘制各种图形
Dec 26 HTML / CSS
HTML5 中新的全局属性(整理)
Jul 31 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
Aug 08 HTML / CSS
HTML5进阶段内联标签汇总(小篇)
Jul 13 HTML / CSS
HTML5给汉字加拼音收起展开组件的实现代码
Apr 08 HTML / CSS
Css预编语言及区别详解
Apr 25 HTML / CSS
html5表单的required属性使用
Jul 07 HTML / CSS
CSS浮动引起的高度塌陷问题
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
SSI指令
2006/11/25 PHP
How do I change MySQL timezone?
2008/03/26 PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
关于Vue组件库开发详析
2018/07/01 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
在Python下进行UDP网络编程的教程
2015/04/29 Python
Python函数的周期性执行实现方法
2016/08/13 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
Python imageio读取视频并进行编解码详解
2019/12/10 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
拾金不昧的表扬信
2014/01/16 职场文书
库房管理员岗位职责
2014/03/09 职场文书
合作意向协议书
2015/01/29 职场文书
土建技术员岗位职责
2015/04/11 职场文书