微信小程序实现元素的垂直居中

news/2024/7/20 2:10:11 标签: html, css, 小程序

我们在进行日常前端页面的开发时,让元素垂直居中的操作数不胜数,初学者可能不太了解如何操作,方法很多,我说一种我用的比较多的。
我们以一个块元素view为例,首先我们写一个宽高分别为300rpx的view,加一个背景色方便我们直观感受效果。
在这里插入图片描述
这是默认的效果,view会在左上角。
现在我们的任务是让这个view垂直居中。
垂直居中分为两步,我们先实现水平居中。
因为view是块元素,我们只需要设置margin值即可

html"><view class="test">

</view>
css">.test {
  width: 300rpx;
  height: 300rpx;
  background-color: red;
  margin:0 auto
}

效果如下:
在这里插入图片描述
水平居中已经完成,下面我们实现垂直居中。
在CSS中top属性可以使元素向下偏移,但是position默认的值是static,静止的,不可移动。常用的position值有relative,absolute,fixed,我们设置为relative。因为relative是不会使元素脱离文档流,而absolute和fixed则会,所以我们用relative。
然后我们需要把这个view的父元素的宽高设置为100%,不然它们默认是0,无论怎么设置,view都不会垂直居中。
至于top的值,大多数人可能都会选择50%,因为毕竟是一半,我们先试一下效果。

css">page {
  height: 100%;
  width: 100%;
}
.test {
  width: 300rpx;
  height: 300rpx;
  background-color: red;
  margin:0 auto;
  position: relative;
  top: 50%;
}

效果如下:
在这里插入图片描述
view确实下移了,但是似乎并没有居中。因为top的值,是根据当前元素的顶部为参考点的,而且view本身是有高度的,所以如果只设置top为50%,view的位置就是距离当前页面顶部50%+view高度。
我提供一个思路,可以设置一下margin-top的值,设置为当前view高度的负二分之一。
即:

css">.test {
  width: 300rpx;
  height: 300rpx;
  background-color: red;
  margin:0 auto;
  position: relative;
  top: 50%;
  margin-top: -150rpx;
}

效果如下:
在这里插入图片描述
如我们所愿,这个view成功的垂直居中了。
方法还有很多,我只是提供一个思路,大家可以自由发挥。
有什么问题可以联系QQ:505417246
关注下面微信公众号,可以领取微信小程序、Vue、TypeScript、前端、uni-app、全栈、Nodejs等实战学习资料
在这里插入图片描述


http://www.niftyadmin.cn/n/1576691.html

相关文章

Day01 Markdown代码学习

使用工具&#xff1a;Typora 标题 几级标题就是几个井号空格标题名称 三级标题 四级标题 字体 两个星号加粗 一个星号斜体 三个星号加粗斜体 两边都加2个波浪表示删除线 引用 大于符号&#xff0c;引用&#xff1a;一般用于摘抄 分割线 三个杠 三个星 图片 ![本地图…

JavaScript预编译的13个基础知识点

JavaScript引擎的两大步骤&#xff1a; 预编译(第一次/前置扫描) — 变量 函数等声明 解释执行(第二次扫描) 预编译 - 脚本 脚本&#xff1a; 创建全局对象GO(Global Object) 加载脚本文件 预编译&#xff1a; 找出所有的变量声明&#xff0c;按照变量名加入全局对象&…

ELK - 简谈 logstash flume

现主流的日志分析系统有 logstash 和 flume&#xff0c;结合好多网上前辈的说法&#xff0c;汇总了一下&#xff0c;希望和大家分享与探讨&#xff0c;有不同的想法欢迎留言。Flume Cloudera提供的一个高可用的&#xff0c;高可靠的&#xff0c;分布式的海量日志采集、聚合和传…

数据结构面试题以及答案整理

参考网络整理的一些问题 一、什么是数据结构&#xff1f; 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。结构包括逻辑结构和物理结构。 数据的逻辑结构包括4种 (1)集合&#xff1a;数据元素之间除了有相同的数据类…

信号频谱

2019独角兽企业重金招聘Python工程师标准>>> 频谱是指一个时域的信号在频域下的表示方式&#xff0c;可以针对信号进行傅里叶变换而得&#xff0c;所得的结果会是以分别以幅度及相位为纵轴&#xff0c;频率为横轴的两张图&#xff0c;不过有时也会省略相位的信息&am…

微信小程序实现长按复制和点击复制

我们在进行微信小程序开发时&#xff0c;经常会遇到用户通过长按文字复制和用户通过点击事件复制指定内容的需求。 长按复制: 微信小程序中text标签中有一个selectable属性可以满足我们的需求&#xff0c;我们只需要把属性的值设置为true即可。 <text selectabletrue>哈…

B站狂神说Java学习笔记–基础

B站狂神说Java学习笔记–基础 01注释 单行、多行、文档 //单行注释/*多行 注释*//*** Description HelloWorld* author Jane*/02标识符 字母、美元符、下划线&#xff08;_&#xff09;开头 可以中文命名&#xff0c;但不建议 03数据类型 Java属于强类型语言&#xff1a…

JavaScript数据类型转换(Number)

目录&#xff1a; JavaScript——数据类型转换(Number) JavaScript——数据类型转换(String) JavaScript——数据类型转换(Boolean) 我们在进行前端JavaScript开发中&#xff0c;经常遇到需要判断数据类型和数据类型转换的需求&#xff0c;其中又分隐式和显式。我们解决一下~~~…