微信小程序view设置margin-top和margin-button无效的解决方案

news/发布时间2024/5/15 20:04:40

微信小程序view设置margin-top和margin-button无效的解决方案

  • 问题发现
  • 解决过程
  • 解决问题正确办法
    • 综上所述,position、overflow、border属性都可以解决这个问题
  • 制作不易,感谢三联,谢谢大家了

问题发现

  • 当我新建一个微信小程序项目时,发现我内层的margin发生了错误,他只在左侧有外边距,而在上侧并没有外边距,经过查找发现margin-top和margin-button都出现该问题,不禁引起了我的好奇,那么由我来解决这个问题吧。
    在这里插入图片描述
  • scss文件
.out{background: pink;height: 500rpx;width: 100%;.box{width: 350rpx;height: 350rpx;margin: 20rpx;background: powderblue;}
}
  • wxml文件
<view class="out"><view class="box"><view class="inner"><view class="text">小程序</view></view></view>
</view>

解决过程

  • 经过查找相关文档发现margin-top不是没有生效,而是一层一层的映射到了最外层view【例如我的out】,而我一开始图方便,height属性设置了500,而width是100%,占用了屏幕宽度的全部。这就不禁让人怀疑如果width属性没有占用全部,会不会margin-left也会被映射到最外层view上,随后我把width属性改为500rpx,这是却发现左侧外边距还是正常,经过多测尝试发现只有在margin-top和margin-button才会发生这个问题。
width: 500rpx;
  • 方案1:使用padding内边距。我看到有人说使用padding来解决这个问题,一开始觉得没问题,但当我打出padding这几个字母时就发现了不对,这不是内边距吗,难道内边距也会映射到最外层?这不禁让我产生了怀疑,话不多说、试试看。
.box{width: 350rpx;height: 350rpx;padding: 20rpx;background: powderblue;.inner{background: rebeccapurple;width: 200rpx;height: 200rpx;}}
  • 效果图
    在这里插入图片描述
  • 这打脸来的太快了,padding属性不会像margin-top一样映射出去,他在正确执行自己的任务。
  • 方案2:在父view也加上margin-top属性,哪怕他是0
margin-top: 0rpx;
  • 结果图,这里为了明显我把顶部导航栏换位红色
"navigationBarBackgroundColor": "#ff0000"

在这里插入图片描述

  • 发现这里仍旧是被映射出去了,但只要他不是父view最上面的结构就可以,如下图
    在这里插入图片描述
  • 但这样并不能解决我们的问题,因为总有一个view要在最上面,而官方也对这种现象做出了解释。
外边距合并(叠加)是一个相当简单的概念。但是,在实践中对网页进行布局时,它会造成许多混淆。简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。
合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并。
请看下图:

在这里插入图片描述

  • 正如他自己所说,这虽然一定程度方便了大家,但也造成了许多混淆。但这时就会有人说父view的margin属性不为零不就好了,但可惜的是【外边距合并(叠加)】这一概念或者说是效果真的是很强大,合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。所以父view的margin属性无论你如何设置都不能解决问题。

解决问题正确办法

  • 方案3 overflow:hidden。在父view添加overflow:hidden属性可以完美解决这个问题。并且目前还没有看出其他问题。如下图
    在这里插入图片描述
  • overflow: hidden; 是CSS中的一个属性值对,用于处理元素内容溢出其容器边界的情况。当元素的内容(例如文本、图片或其他子元素)超出其指定的宽度或高度时,overflow 属性定义了如何处理这种溢出。
  • 方案4:使用position:relative。position:relative(未脱离文档流,正常位置仍在)生成相对定位的元素,相对于其文本流原始正常位置进行定位。
.box{width: 350rpx;height: 350rpx;position: relative;top: 20rpx;background: powderblue;.inner{background: rebeccapurple;position: relative;top: 20rpx;width: 200rpx;height: 200rpx;}}

在这里插入图片描述

  • 虽然我看到有人说position与margin不同,但在这个问题上,position确实可以解决该问题。
  • 方案5:我也看到有人说border也可以解决这个问题,但经过我的尝试发现,border确实不仅仅可以解决这个问题。因为border 属性是一个用于设置各种单独的边界属性的简写属性。border 可以用于设置一个或多个以下属性的值:border-width、border-style、border-color。这说明它不仅可以设置内边距,还可以对内边距进行修饰。
border: 10px solid rgb(248, 248, 248);
  • 效果图
    在这里插入图片描述

综上所述,position、overflow、border属性都可以解决这个问题

制作不易,感谢三联,谢谢大家了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/qGTN/1039.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

适配器模式:接口转换的艺术,让不匹配成为过去式

适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过将一个类的接口转换成客户期望的另一个接口&#xff0c;使得原本接口不兼容的类可以一起工作。在Java中&#xff0c;适配器模式可以通过实现一个适配器类来实现两个不兼容接口之间的转…

Android Studio安装SDK失败解决办法

Android Studio安装SDK失败解决办法 安装SDK时界面会显示安装的连接&#xff0c;同时在你选择的安装SDK的文件夹里面会生成一些目录和文件&#xff0c;在你选择放SDK的目录下有一个叫做.temp的文件夹&#xff0c;里面放的就是下载的临时文件。 .temp内部的文件夹里面能看到下…

平时积累的FPGA知识点(7)

平时在FPGA群聊等积累的FPGA知识点&#xff0c;第七期&#xff1a; 11 描述扇出的xilinx官方文档是&#xff1f; 解释&#xff1a;ug949 12 在BD中如何指定某个IP用global&#xff0c;其他的用OOC模式&#xff1f;因为某个模块引用的IP带着XPM&#xff0c;综合不了 解释&am…

DS:栈和队列的相互实现

创作不易&#xff0c;感谢友友们三连&#xff01;&#xff01; 一、前言 栈和队列的相互实现是用两个栈去实现队列或者是用两个队列去实现栈&#xff0c;这样其实是把问题复杂化的&#xff0c;实际中没有什么应用价值&#xff0c;但是通过他们的相互实现可以让我们更加深入地理…

ChatGPT绘图指南:DALL.E3玩法大全(一)

一、 DALLE.3 模型介绍 1、什么是 DALLE.3 模型&#xff1f; DALLE-3模型&#xff0c;是一种由OpenAI研发的技术&#xff0c;它是一种先进的生成模型&#xff0c;可以将文字描述转化为清晰的图片。这种模型的名称"DALLE"实际上是"Deep Auto-regressive Latent …

unity学习(26)——客户端与服务器合力完成注册功能(8)json编解码问题,大结局

服务器端发送的内容如下&#xff1a; 客户端所接受的内容如下&#xff1a; 是一样的&#xff0c;不是传输问题&#xff0c;少了一个解码的过程&#xff0c;之前那个addMessage函数应该是不能解码的&#xff01; 具体解析一下数据包的内容&#xff1a;上边的是成功的&#xff0…

OpenCV边缘检测与视频读写

原理 OpenCV中的边缘检测原理主要基于图像梯度的计算&#xff0c;包括一阶梯度和二阶梯度。 一阶梯度&#xff1a;它反映了图像亮度变化的速度。Sobel算法就是一种以一阶梯度为基础的边缘检测算法。它通过计算图像在水平和垂直方向上的梯度来检测边缘。这种方法简单有效&…

python 与 neo4j 交互(py2neo 使用)

参考自&#xff1a;neo4j的python.py2neo操作入门 官方文档&#xff1a;The Py2neo Handbook — py2neo 2021.1 安装&#xff1a;pip install py2neo -i https://pypi.tuna.tsinghua.edu.cn/simple 1 节点 / 关系 / 属性 / 路径 节点(Node)和关系(relationship)是构成图的基础…

ElasticSearch之Index Template 和Dynamic Template

写在前面 在ElasticSearch之Mapping 一文中我们一起看了es的dynamic mapping机制&#xff0c;通过该机制允许我们不需要显式的定义mapping信息&#xff0c;而是es根据插入的文档值来自动生成 &#xff0c;比如插入如下的文档&#xff1a; {"firstName": "Chan…

Spring Boot 笔记 023 注册页面

1.1 request.js请求工具 //定制请求的实例//导入axios npm install axios import axios from axios; //定义一个变量,记录公共的前缀 , baseURL const baseURL /api; const instance axios.create({baseURL})//添加响应拦截器 instance.interceptors.response.use(result…

QT-地形3D

QT-地形3D 一、 演示效果二、关键程序三、下载链接 一、 演示效果 二、关键程序 #include "ShaderProgram.h"namespace t3d::core {void ShaderProgram::init() {initializeOpenGLFunctions();loadShaders(); }void ShaderProgram::addShader(const QString &fil…

js设计模式:适配器模式

作用: 可以将某种不同格式的数据转化为自己所期待的数据格式 或者对于一些存在兼容或者特殊处理的业务逻辑,可以进行一个适配 示例: //原始数据let oldData1 [{name: 王惊涛,age: 29},{name: 孙悟空,age: 800},{name: 嘉文四世,age: 27},{name: 关羽,age: 40},{name: 伊利丹…

无人机概述及系统组成,无人机系统的构成

无人机的定义 无人驾驶航空器&#xff0c;是一架由遥控站管理&#xff08;包括远程操纵或自主飞行&#xff09;的航空器&#xff0c;也称遥控驾驶航空器&#xff0c;以下简称无人机。 无人机系统的定义 无人机系统&#xff0c;也称无人驾驶航空器系统&#xff0c;是指一架无人…

【力扣白嫖日记】1873.计算特殊奖金

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1873.计算特殊奖金 表&#xff1a;Employees 列名类型employee_idintnamevarcharsalaryint employee_id 是…

Mysql如何优化数据查询方案

mysql做读写分离 读写分离是提高mysql并发的首选方案。 Mysql主从复制的原理 mysql的主从复制依赖于binlog&#xff0c;也就是记录mysql上的所有变化并以二进制的形式保存在磁盘上&#xff0c;复制的过程就是将binlog中的数据从主库传输到从库上。 主从复制过程详细分为3个阶段…

相机图像质量研究(19)常见问题总结:CMOS期间对成像的影响--Sensor Noise

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

spring-security 过滤器

spring-security过滤器 版本信息过滤器配置过滤器配置相关类图过滤器加载过程创建 HttpSecurity Bean 对象创建过滤器 过滤器作用ExceptionTranslationFilter 自定义过滤器 本章介绍 spring-security 过滤器配置类 HttpSecurity&#xff0c;过滤器加载过程&#xff0c;自定义过…

备战蓝桥杯 Day5

1191&#xff1a;流感传染 【题目描述】 有一批易感人群住在网格状的宿舍区内&#xff0c;宿舍区为n*n的矩阵&#xff0c;每个格点为一个房间&#xff0c;房间里可能住人&#xff0c;也可能空着。在第一天&#xff0c;有些房间里的人得了流感&#xff0c;以后每天&#xff0c;得…

相机图像质量研究(27)常见问题总结:补光灯以及遮光罩对成像的影响--遮光罩

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

4 月 9 日至 4 月 10 日,Hack.Summit() 2024 首聚香江

Hack.Summit() 是一系列 Web3 开发者大会。2024 年的活动将于 2024 年 4 月 9 日至 4 月 10 日在香港数码港举行。自十年前首次举办以来&#xff0c;此次会议标志着 Hack.Summit() 首次在亚洲举办&#xff0c;香港被选为首次亚洲主办城市&#xff0c;这对 Hack VC 和该地区都具…
推荐文章