CSS - 当 Margin-Top 存在时,Margin-Bottom 被忽略

2024-05-03

我有一个场景,我有多个 DIV 与 margin-top 和 margin-bottom 堆叠在一起,但我发现当我有 margin-top 时,margin-bottom 被忽略。我无法解释这是如何发生的。

html

<div class='box'>
<div class='item'>1</div>
<div class='item'>2</div>
<div class='item'>3</div>
<div class='item'>4</div>
<div class='item'>5</div>
<div class='item'>6</div>
<div class='item'>7</div>
<div class='item'>8</div>
</div>​

css

.box{
    width:100%;
    height:300px;

}

.item{
    list-style: none;
    display:block;
    margin-top:20px;
    margin-bottom:20px;
    width:100%;
    height:50px;                
    background-color:red;
}

如果我将项目设置为 float:left,则它可以正确禁用 margin-bottom。

CSS 通过 div 向左浮动

.item{
    list-style: none;
    float:left;
    display:block;
    margin-top:20px;
    margin-bottom:20px;
    width:100%;
    clear:both;
    height:50px;                
    background-color:red;
}     ​

这是jsfiddlelink http://jsfiddle.net/mochatony/5bgkG/19/为了更好地说明它。使用 Chrome 和 Firefox 进行测试。有人可以解释它是如何发生的吗?


详细说明我的有点简洁的评论:

想象一下你有这样的代码:

<body>
    <p>A paragraph</p>
    <p>Another paragraph</p>
    <p>A final paragraph</p>
</body>

你的 CSS 是:

p {
    margin-top: 10px;
    margin-bottom: 10px;
}

如果边距折叠没有发生,您最终会在顶部得到 10 像素的边距,在底部得到 10 像素的边距,但是20段落之间的像素边距通常不是所需要的。

为了解决这个问题,浏览器将顶部和底部边距相互折叠,以便段落(或任何其他块级元素)之间的间隙等于顶部和底部边距中的较大者。

这就是您的代码所发生的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS - 当 Margin-Top 存在时,Margin-Bottom 被忽略 的相关文章

  • 使用 CSS Grid,从任何地方滚动 div(不使用 jQuery 插件)

    div 怎样才能 scroll content https jsfiddle net blehmanade x1k3rhj7 33 可以从页面上的任何位置滚动吗 现在 scroll content仅当鼠标位于其上方时才可滚动 但是 当鼠标位
  • 滚动时输入自动完成位置错误(chrome)

    我在输入文本的默认自动完成功能方面遇到了一些麻烦 滚动时它不会相应移动 我希望自动完成文本保留在输入的正下方 有办法做到这一点吗 我在 Chrome 浏览器版本 57 0 2987 133 中发生这种情况 fiddle https jsfi
  • 如何在Eclipse中集成CSS预处理? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 Eclipse 中编辑 SCSS 文件 最好使用语法突出显示 scss files 我发现这些资
  • 如何删除flexbox中所有换行行的左右边距(没有nth-child或js)

    我正在寻找一种好方法来删除每行中每个第一个和最后一个项目的左右边距 而不使用 nth child 或 JavaScript 如果这是不可能的 那么我想下一个最好的方法是在主弹性盒元素上设置负左 右边距 但我不太确定使用弹性盒来做到这一点的最
  • 更快地开发和测试打印样式表的方法(避免每次都进行打印预览)?

    这是我现在的流程 保存对 print css 的更改 打开浏览器并刷新页面 右键单击并选择 打印 gt 打印预览 Firefox 但实际上是任何浏览器 第三步让我烦恼 我想知道是否可以通过插件或其他东西将其从流程中删除 只需选择以打印媒体形
  • Firefox Placeholder Before CSS 选择器不起作用

    我使用的是最新的firefox 30 0 我正在尝试在必填字段的占位符之前插入红色字体真棒星号 我在 Chrome 中工作没问题 但我在 FF 和 上遇到问题 这是一个说明我的问题的代码笔 http codepen io anon pen
  • 有没有办法将变量从 javascript 导入到 sass 或反之亦然?

    我正在制作一个依赖于块概念的 CSS 网格系统 所以我有一个基本文件 例如 max columns 4 block width 220px block height 150px block margin 10px 它被 mixin 使用 m
  • 扩展位置绝对div超出溢出隐藏div

    我已经好几个月没有做过CSS了 所以我可能会错过一些简单的东西 但无论解决方案是什么 我都无法弄清楚 所以问题就在这里 这是我的代码的简化版本 div style height 100 width 200px div style margi
  • 当百分比填充定义元素高度时忽略 max-height

    The max height当内部填充大于最大高度值时 属性值似乎被忽略 例如 在元素上设置此类会导致最大高度被忽略 max height ignored height 0 or auto makes no difference max h
  • 如何让div与包含td的高度相匹配?

    我沿着桌子的一排布置了三个 面板 一个比另外两个高 我希望所有三个面板都与最高的一个的高度相匹配 我尝试将 div 的样式设置为 height 100 但是即使包含的 tds 增长 短面板仍然很短 我的 HTML 是由 JSF 生成的 因此
  • 如何在表格列标题处垂直旋转文本

    我用过这个数据表 http www datatables net 在我的网页上 这是fiddle http jsfiddle net fxju7 2 链接我放置代码的地方 我想要 第一个数字第二个数字列应该垂直旋转 我已经做到了 但是 问题
  • 如何向 CSS 形状添加偏移轮廓?

    我在创建带有斜角边缘的块时遇到了一些问题 此外我需要一个斜角的边框并稍微偏离主块 问题是这个块可以根据屏幕响应 不知道具体的方法 希望大家帮忙 这就是我现在所做的 box display flex padding 20px height 2
  • Bootstrap 中的旋转字形 / Font Awesome

    我试图让引导站点中的字形在悬停时旋转 除了更改颜色之外 这是我的尝试 http jsfiddle net young greedo17 88g5P http jsfiddle net young greedo17 88g5P 使用此代码 d
  • 滚动时将菜单栏固定在顶部[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我见过一些网站 当用户向下滚动页面时 会在右侧或左侧弹出一个框 另外 注意到这个模板 http www mvpthemes com m
  • 使用 CSS 网格布局使网格项内的元素高度相等

    我在长度超过 4 的 div 中有一系列文章 没有任何舍入行标签 我需要将其表示为每行 3 篇文章 列 的表格 可能包含display grid 每篇文章都有页眉 章节和页脚 如何在每行文章内实现每个标题的等高 每个部分的等高以及与文章底部
  • 如何使整个跨度落入新行?

    这个片段显示了我想要的 http jsfiddle net 945Df 3 http jsfiddle net 945Df 3 div class sup strong a href Rosario Santa Fe Argentina a
  • 将特定字形与网络字体一起使用

    使用网络字体 我想使用字体功能设置 CSS 中的选项以及跨度类HTML 中 以便使用字体集中的特定替代字形 我需要以正确的语法使用哪些值 GID Unicode 才能定位特定的目标glyph内glyph备择方案 这些功能使用 OpenTyp
  • CSS 精灵按钮

    这些精灵按钮让我抓狂 我几乎可以让他们工作 但不完全是 我正在玩这个非常简单的精灵图像 我有一个 jsfiddle 项目 gt gt 这里 如果你想看的话 但如果你只想看一下 代码就在下面 http jsfiddle net jp2code
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 为什么使用 iPhone 或 iOS 设备在“iframe”中查看“position:fixed”时不起作用?

    我研究过 stackoverflow 似乎position fixed在 iOS 移动设备的 iframe 中 https stackoverflow com questions 15874910 position fixed and if

随机推荐

  • Swift 尝试呈现 UIAlertController,其视图不在窗口层次结构中(在 TWTRShareEmailViewController 之后呈现)

    我在应用程序的注册过程中使用 Twitter 登录 我正在询问用户的电子邮件 一旦我得到它 我想展示一个 UIAlertController 这是我的代码 func askForTWMail if Twitter sharedInstanc
  • Java:提取具有多个子目录的zip文件[重复]

    这个问题在这里已经有答案了 我有一个 zip Meow zip 它有多个文件和文件夹 如下所示 Meow zip 文件 txt 程序 exe Folder 资源 xml AnotherFolder OtherStuff 更多资源 xml 我
  • 参数数量未知的 IMP

    是否可以创建一个参数数量与正在解析的实例方法的选择器相匹配的 IMP 我可以使用 if 语句和有限数量的参数 例如0到10之间 但是是否可以使用例如 IMP implementationWithBlock 和 va args 您无法在 C
  • 如何使用 System.IO.Pipelines.PipeReader 读取 ASP.NET 应用程序中的所有 POST 正文字节?

    我正在尝试使用 Net 6 将我的 ASP NET 应用程序从 Stream 切换到 PipeReader按照微软的推荐 https youtu be 1koWtKkKb o 这是我的自定义方法 private static async T
  • asyncio 多个并发服务器

    我正在尝试使用 Python 的 asyncio 一起运行多个服务器 并在它们之间传递数据 对于我的具体情况 我需要一个带有 websocket 的 Web 服务器 与外部设备的 UDP 连接以及数据库和其他交互 我可以找到几乎所有这些单独
  • 隐式运算符

    我刚刚看到它在最近的答案之一中使用 public static implicit operator bool Savepoint sp return sp null 为什么我们需要言语implicit这里 这是什么意思 隐式意味着转换不需要
  • 如何在ActiveAdmin中过滤IS NULL?

    我有一个带有名为 map id 的整数列的表 我想添加一个 activeadmin 过滤器来过滤此列是否为 NULL 或 IS NOT NULL 这如何实施 我尝试了以下过滤器 filter map id label gt Assigned
  • 避免在 django allauth 的自定义用户模型中创建用户名字段

    我正在使用带有 allauth 的自定义用户模型 并且需要省略用户名字段 我已经看过文档和一大堆关于使用的 stackoverflow 答案ACCOUNT USER MODEL USERNAME FIELD None但所有这些仍然导致我的数
  • null != Something 和 Something != null 之间的区别

    之间有区别吗null something and something null在爪哇 如果有区别 那么我应该使用哪一个 为什么 之间没有区别null something and something null 你一定在想person getN
  • Javassist 增强部署失败

    我遇到了底部堆栈跟踪中指定的错误this https stackoverflow com questions 26220232 hibernate lazy loading proxy gorm static apis instanceof
  • JHipster - 日志文件

    我正在运行一个 JHipster 应用程序 我想知道日志文件在哪里 它们是在哪里生成的 这是一个新手问题 但找不到任何东西 我使用默认配置的 Dev 配置文件 没有更改有关 application dev yml 的任何内容 Thanks
  • 无法使用 XCode 创建快照

    我无法在 XCode 中拍摄我的特定项目的更多快照 如果我尝试创建快照 它会在状态栏中显示 正在创建快照 并永远持续下去 然后我强制退出 Xcode 重新启动并尝试再次创建快照 这次它立即给出错误消息 手动删除文件 锁定 因此 我然后使用终
  • jquery/javascript setInterval

    目前我正在开发一个用户通知提醒消息功能 我设法使用setInterval控制我的 Ajax 调用 检查是否有用户的通知消息 但我的问题是我只想要通知消息 在页面上出现一次 现在它在屏幕上显示多个通知警报消息 我知道你可以使用setTimeo
  • Android Canvas.DrawBitmap 没有模糊/抗锯齿?

    我正在尝试使用精灵 或非常像素化的角色 背景等 制作一个Android游戏 我把它们画在画布上 就像这样 matrix preScale xrat yrat canvas drawBitmap img matrix null 其中 img
  • 如何获取android中listview特定项目的id?

    我在用Listview并设置多个项目 每个项目都有喜欢 分享和评论选项 实际上我已经获取了 Item Id 并且还setText of TextView 成功了 但无法在特定项目的 Like 按钮单击事件上获取项目 ID 如何获取每个项目的
  • Android 中如何调用 getContentResolver() ?

    我想知道当时的背景getContentResolver 叫做 我有一个这样的场景 我有一个调用方法的活动 AmyFunc B 类 这不是一项活动 所以 在B类中我必须使用getContentResolver 我直接打电话getContent
  • 使用指令将类添加到宿主元素[重复]

    这个问题在这里已经有答案了 我目前正在学习 Angular 2 我了解如何使用 AngularRenderer设置一个ElementStyle 但现在我想使用Renderer方法 setElementClass renderElement
  • 获取 Spark 中组的最后一个值

    我有一个 SparkR DataFrame 如下所示 Create R data frame custId lt c rep 1001 5 rep 1002 3 1003 date lt c 2013 08 01 2014 01 01 20
  • Java 中的原始数据类型是线程安全的吗

    原始数据类型是这样的吗int shortJava 线程安全 我执行了以下代码 有时看不到预期结果 500 public class SampleThree extends Thread static long wakeUpTime Syst
  • CSS - 当 Margin-Top 存在时,Margin-Bottom 被忽略

    我有一个场景 我有多个 DIV 与 margin top 和 margin bottom 堆叠在一起 但我发现当我有 margin top 时 margin bottom 被忽略 我无法解释这是如何发生的 html div class bo