当前位置: 首页 > 面试题库 >

为什么不使margin-top:auto和margin-bottom:auto与它们的左,右对应项相同?

弘浩博
2023-03-14
问题内容

如果我像这样设置div的CSS边距属性:

div { margin-left: auto; margin-right: auto; }

我得到一个div,它在页面中水平居中,就像这样。

但是,如果我将CSS更改为此:

div { margin-top: auto; margin-bottom: auto; }

我的div不在垂直居中。我并不需要知道一个解决方法(大量的解决方案都可以),但我想知道这种行为的原因。为什么上边距和下边距不能以相同的方式工作?我想念什么?


问题答案:

简短的答案是规格说明。

10.6.2内联替换元素,正常流中的块级替换元素,普通流中的“内联块”替换元素和浮动替换元素

如果’margin-top’或’margin-bottom’为’auto’,则它们的使用值为0。



 类似资料:
  • 问题内容: 使用jQuery.css()时,我被告知可以使用以下两个函数获得相同的结果: 我一直使用,因为这是文档中使用的内容 不支持速记CSS属性(例如,边距,背景,边框)。例如,如果要检索渲染的边距,请使用:$(elem).css(’marginTop’)和$(elem).css(’marginRight’),依此类推。 为什么jQuery的允许以及?似乎毫无意义,并使用了更多资源将其转换为C

  • 描述 (Description) margin属性是一个速记属性,用于设置元素所有四边的边距宽度。 可能的值 (Possible Values) length - 任何长度值。 percentage - 边距的宽度是相对于元素包含块的宽度计算的。 auto - 设置要自动计算的所有四个边距的值。 适用于 (Applies to) 所有HTML元素。 DOM语法 (DOM Syntax) objec

  • 这是Web开发人员的完整参考指南,其中列出了与万维网联盟推荐的层叠样式表规范2级中定义的边距相关的所有CSS属性。 单击任何属性以查看其描述的示例 - Sr.No. 财产和描述 1 margin 定义元素边距的所有四个。 2 margin-bottom 定义元素的下边距。 默认值为0。 3 margin-left 定义元素的左边距。 默认值为0。 4 margin-right 定义元素的右边距。

  • 问题内容: 假设您将以下CSS应用于div标签 左边距和右边距无效 但是,如果您有亲戚,它可以正常工作,即 这是为什么?我只想将元素居中 有人可以解释为什么将页边距设置为绝对位置无效吗? 问题答案: 编辑:这个答案曾经声称不可能用来使绝对定位的元素居中,但这根本不是事实。因为这是最受好评和接受的答案,所以我想我只是将其更改为正确。 当您将以下CSS应用于元素时 然后为元素提供固定的宽度和高度,例如

  • 问题内容: 在下面的代码中,我试图使h1元素具有最高利润。当我在css中将位置设置为inline时,未显示上边距。但是,当我将其更改为inline-block时,它确实可以。我想知道是否有人可以解释为什么会这样。谢谢。 这是我的HTML: 这是CSS 问题答案: CSS2规范的9.2.4节规定: inline-block 此值使元素生成一个 内联级块容器 。内联块的内部被格式化为块框,元素本身被格

  • 描述 (Description) outerWidth( [margin] )方法获取第一个匹配元素的外部宽度(默认包括边框和填充)。 此方法适用于可见元素和隐藏元素。 由于父项被隐藏而间接隐藏的元素不支持它。 语法 (Syntax) 以下是使用此方法的简单语法 - <i>selector</i>.outerWidth( [margin] ) 参数 (Parameters) 以下是此方法使用的所