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

“margin:0 auto;”到底需要什么才能工作?

劳研
2023-03-14
问题内容

我知道margin: 0auto;元素上的设置用于使其居中(左右)。但是,我知道该元素及其父元素必须满足某些条件才能使用自动边距,而且我似乎永远无法正确理解魔术。

所以我的问题很简单:为了margin: 0 auto;使孩子左右居中,必须在元素及其父元素上设置哪些CSS属性?


问题答案:

从我的头顶上:

  1. 所述元件必须是块级,例如display: blockdisplay: table
  2. 元素不能浮动
  3. 元素不得具有固定或绝对位置1

超越别人的头:

  1. 元素必须具有width不为auto2的

请注意, 所有 这些条件都必须满足居中的元素才能使其正常工作。

1 有一个例外:如果你的固定或绝对定位的元素有left: 0; right: 0,它 _会_与汽车的利润中心。

2 从技术上讲,margin: 0 auto确实可以使用自动宽度,但是自动宽度优先于自动边距,因此自动边距被清零,从而使其看起来“不起作用”。



 类似资料:
  • null 它可能输出-21、3或其他一些值,因为累加器函数违反了关联属性。 标识要求的示例: 这本书是怎么说的:

  • 我的问题是,我的活动中的按钮需要单击两次,以使代码执行用onClick方法编写的代码。当我共享我的活动代码和布局文件代码时。请引导我解决这个问题。 活动(片段) 布局文件 而此片段正在另一个主要活动中初始化。

  • 问题内容: 如果包含变音符号(ä,ö,ü)在我的Windows操作系统上不起作用。通过反复试验,我发现需要做一些工作。 但是,当我将其实时推送到服务器上(猜测它是某种Linux)时,它又返回了一个错误,因此我删除了,然后突然工作正常。 作为一种解决方法(因此,我不需要在每次更改代码时都手动更改此代码),我已经尝试过 因为这已经反过来解决了相同的问题()也有同样的问题,但是事实证明它在每个(服务器)

  • 问题内容: 我认为这个问题已经存在,但是我找不到。 我不明白,为什么必须要有一个功能接口才能使用lambda。考虑以下示例: 这可以正常工作,但是如果您取消注释行,则不会。为什么?以我的理解,编译器应该能够区分这两种方法,因为它们具有不同的输入参数。为什么我需要一个功能接口并炸毁我的代码? 编辑:链接的重复项没有回答我的问题,因为我在询问不同的方法参数。但是在这里,我得到了一些非常有用的答案,这要

  • 我试图让VSCode启动并使用TypeScript运行,但收效甚微。 我正在看以下内容: https://code.visualstudio.com/docs/languages/typescript 看起来,一旦安装了编译器VSCode,就应该可以正常工作,但考虑到以下情况: tsconfig.json 包裹json tasks.json 项目 你好世界ts 从终端运行构建任务或tsc会正确指示

  • 问题内容: 如果我尝试连接组件而不直接导出,它将无法连接。 例: 为什么这会有什么不同? 问题答案: 对原始组件没有任何作用,而是由高阶组件模式实现的:因此它以React组件为参数,并通过执行需要执行的操作返回另一个组件,例如提供动作创建者和国家作为道具。 因此,当您返回分派返回的组件时,实际上会返回正确的组件。您传递给的组件没有可用的组件。 因此,您可以想到将connect编写为类似