【CSS】外边距塌陷

问题背景

在移动应用页面开发中,父元素和子元素外边距合并,导致布局效果和预期不一致。

<template><view class="container"><view class="card"><p>TEST</p></view></view>
</template><style lang="scss">
.container {background-color: #cccc;height: 100vh;.card {background-color: red;margin: 50rpx auto;width: 95%;border-radius: 5px;}}</style>

什么是外边距塌陷

当两个垂直方向上的块元素外面边距相遇时,会形成一个外边距。这个外边距等于两个外边距的最大时,而不是两个外边距的相加。

外边距塌陷的情况

相邻的块级元素:当两个相邻的块级元素的上下外边距相遇时,会发生塌陷。

      .box1 {height: 300px;width: 300px;background-color: aqua;margin-bottom: 20px;}.box2 {height: 300px;width: 300px;background-color: red;margin-top: 30px;}

此时两个盒子上下两外边距是30px,不是50px

父元素与子元素:如果子元素是第一个或最后一个块级元素,并且没有边框、内边距或高度,父元素的外边距可能会塌陷。

      .parent {height: 300px;width: 300px;background-color: aqua;margin: 20px;}.child {height: 300px;width: 300px;background-color: red;margin: 30px;}

在这里,父元素的下外边距和子元素的下外边距相遇,最终父元素的外边距为30px。

如何避免外边距塌陷

  • 添加边框和内边距
  • 设置浮动
  • 使用绝对定位(设置元素为绝对定位(position: absolute)也可以避免外边距塌陷。)
  • 使用flex活grid布局

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

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

相关文章

基于STM32的智能手环设计

本设计的主控芯片采用STM32F103C8T6&#xff0c;体温模块采用DS18B20温度传感器&#xff0c;显示模块采用OLED显示&#xff0c;心率、血氧的测量采用MAX30102模块既不需要外接电路&#xff0c;又可以保障数据稳定&#xff0c;内部还具有降噪功能。采用这些模块&#xff0c;保证…

LeetCode 3165.不包含相邻元素的子序列的最大和:单点修改的线段树(动态规划)

【LetMeFly】3165.不包含相邻元素的子序列的最大和&#xff1a;单点修改的线段树&#xff08;动态规划&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/maximum-sum-of-subsequence-with-non-adjacent-elements/ 给你一个整数数组 nums 和一个二维数组 q…

Python代码解析:生成Jieba自定义词典

Python代码解析&#xff1a;生成Jieba自定义词典 引言代码结构概览代码详解1. 导入必要的库2. 定义文件路径3. 读取JSON文件内容4. 生成自定义词典 总结参考资料 引言 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;分词是一个非常重要的步骤。Jieba是一个非常流…

微信小程序,打开新的项目,调试遇见[ app.json 文件内容错误] app.json: 在项目根目录未找到 app.json

1&#xff0c;首先&#xff0c;在开发工具右上角&#xff0c;打开详情&#xff1b;设置基础库&#xff1b;3.6.3 2&#xff0c;第二步&#xff0c;在项目目录下&#xff0c;找到app.json文件存在 3&#xff0c;第三步&#xff0c;修改项目根目录下&#xff0c;project.config.j…

MFC界面开发组件Xtreme Toolkit Pro v24全新发布—完整的SVG支持

Codejock软件公司的Xtreme Toolkit Pro是屡获殊荣的VC界面库&#xff0c;是MFC开发中最全面界面控件套包&#xff0c;它提供了Windows开发所需要的11种主流的Visual C MFC控件&#xff0c;包括Command Bars、Controls、Chart Pro、Calendar、Docking Pane、Property Grid、Repo…

FreeRTOS学习8——开启任务调度器API函数简介

开启任务调度器API函数简介 任务调度开启任务调度器API函数简介**函数** **vTaskStartScheduler()****函数** **xPortStartScheduler()****函数** **prvStartFirstTask()****函数** **vPortSVCHandler()****注意**补充**出栈/压栈汇编指令详解** 任务调度 开启任务调度器API函…

SIGNAL TAP使用记录

一、首先编译工程 二、打开signal tap&#xff0c;并设置抓取时钟以及采样深度 二、点击set up&#xff0c;然后双击空白处&#xff0c;会弹出右侧窗口&#xff0c;点击filter选择pre_synthesis&#xff0c;这里选择综合前的信号观测&#xff0c;要确保左侧窗口内的信号是黑色…

RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)

在计算机组成原理中&#xff0c;RAID&#xff08;Redundant Array of Independent Disks&#xff0c;独立冗余磁盘阵列&#xff09;是一种将多个物理磁盘驱动器组合成一个或多个逻辑单元&#xff0c;以提供数据存储的技术。RAID技术旨在通过数据冗余和分散存储来提高数据的可靠…

Windows版 nginx安装,启动,目录解析,常用命令

Windows版 nginx安装&#xff0c;启动&#xff0c;目录解析&#xff0c;常用命令 一级目录二级目录三级目录 1. 下载2. 启动方式一&#xff1a;方式二&#xff1a; 3. 验证是否启动4. 安装目录解析5. 常用命令 一级目录 二级目录 三级目录 1. 下载 官网下载&#xff1a;ngi…

【Linux 从基础到进阶】使用Pacemaker与Corosync实现高可用

使用Pacemaker与Corosync实现高可用 在现代 IT 基础设施中&#xff0c;高可用性&#xff08;High Availability&#xff0c;HA&#xff09;至关重要&#xff0c;尤其是在处理关键应用和服务时。本文将介绍如何使用 Pacemaker 和 Corosync 实现高可用性集群&#xff0c;以确保服…

kafka相关面试题

文章目录 什么是消息中间件&#xff1f;kafka 是什么&#xff1f;有什么作用&#xff1f;kafka 的架构是怎么样的&#xff1f;Kafka Replicas是怎么管理的&#xff1f;如何确定当前能读到哪一条消息&#xff1f;生产者发送消息有哪些模式&#xff1f;发送消息的分区策略有哪些&…

Python | Leetcode Python题解之第519题随机翻转矩阵

题目&#xff1a; 题解&#xff1a; class Solution:def __init__(self, m: int, n: int):self.m mself.n nself.total m * nself.map {}def flip(self) -> List[int]:x random.randint(0, self.total - 1)self.total - 1# 查找位置 x 对应的映射idx self.map.get(x,…

SHEEL脚本编程

一、shell基本知识 Ⅰ、为什么要学习和使用shell编程 通过编程&#xff0c;简化日常的维护工作&#xff0c;使得管理员从简单的重复劳动解脱出来 Ⅱ、什么是shell shell的功能 Shell又称命令解释器&#xff0c;它能识别用户输入的各种命令&#xff0c;并传递给操作系统。它…

三、Kafka集群

一、Kafka集群的概念 1、目的 高并发、高可用、动态扩展。 主备数据架构、双活节点、灾备数据中心。 如果是服务的地理范围过大也可以使不同的集群节点服务不同的区域&#xff0c;降低网络延迟。 2、Kafka集群的基本概念 1&#xff09;复制&#xff08;镜像&#xff09; kaf…

关于Android Studio Koala Feature Drop | 2024.1.2下载不了插件的解决办法

解决 androidStudio Settings->Plugins下载插件&#xff0c;点击install后没反应&#xff0c;同时插件描述相关显示不出来 第一步&#xff1a; 第二步&#xff1a; 点击设置&#xff0c;勾选Auto-detect proxy settings&#xff0c;输入网址 https://plugins.jetbrains.com…

近期学习前端的心得

1.如果你这一行的编辑权利在于你这一行的某个字段的值&#xff0c;你可以使用这样:disabled"scope.row.某字段 ! 某字段的值" 2.如果你不想使用弹出框的形式来修改数据库&#xff0c;可以采用 对“某字段”列使用了 el-input&#xff0c;并绑定了 v-model 到 sco…

笔记本双系统win10+Ubuntu 20.04 无法调节亮度亲测解决

sudo add-apt-repository ppa:apandada1/brightness-controller sudo apt-get update sudo apt-get install brightness-controller-simple 安装好后找到一个太阳的图标&#xff0c;就是这个软件&#xff0c;打开后调整brightness&#xff0c;就可以调整亮度&#xff0c;可…

若依微服务架构遇到的一些问题记录

一、nacos启动问题 需要看官网的准备工作&#xff0c;认真看&#xff0c;版本问题卡了两天 https://doc.ruoyi.vip/ruoyi-cloud/document/hjbs.html#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C 1.下载nacos&#xff0c;版本需要对应上 版本说明链接 2.记得运行数据库&#xff0…

语音合成技术:AI如何模仿人类声音

大家好&#xff0c;我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 AI工具集1&#xff1a;大厂AI工具【共23款…

【客户端开发】electron 中无法使用 js-cookie 的问题

产生问题的原因 谷歌浏览器升级之后&#xff0c;出于安全考虑&#xff0c;cookie的SameSite属性默认值由None变为Lax&#xff0c;对于跨域的请求&#xff0c;禁止携带cookie。electron内核是chromium内核,所以也会有这个限制。 Cookie的SameSite属性用来限制第三方 Cookie&…