【问题标题】:HTML CSS Form - How to center the form on the page?HTML CSS 表单 - 如何使表单在​​页面上居中?
【发布时间】:2013-03-28 02:04:45
【问题描述】:

我制作了一个表单,我试图将其置于页面中心,但它不起作用。我尝试将这 2 个 CSS 应用到它,但它不起作用。

form{margin: 0 auto;}

form{margin: auto;}

我还尝试将表单封装到 div.container 中并对其应用相同的 CSS,但仍然没有。

但这有效:

{margin: 0 250px 0;}

表格here

【问题讨论】:

    标签: html css forms margin


    【解决方案1】:

    你需要做两件事来实现这一点:

    1) 将表单上的inline-block 显示更改为block
    2) 固定宽度(您目前拥有它为auto)。

    演示:http://jsfiddle.net/bMf9M/2/


    或者如果您不想固定表单大小,可以使用text-align: center(感谢@donderpiet)

    演示:http://jsfiddle.net/bMf9M/4/

    【讨论】:

    • 但是如果你想让表单自动调整它的宽度呢?离开inline-block 并将text-align: center 添加到其父级更容易。
    • 不宽度:自动将宽度设置为所需的最小宽度?
    • @donderpiet 然后你会得到 all 表格居中,就像jsfiddle.net/bMf9M/5
    • @SourabhVerma 可以,但它不是固定的,为了使其居中,您需要固定宽度。
    • 您必须在表单上设置text-align: left,请参见:jsfiddle.net/bMf9M/4
    【解决方案2】:

    您必须将容器的宽度指定为具有display:block 属性的元素自动调整为其容器的最大宽度。

    【讨论】:

    • 如果你想让你的容器自动调整它的宽度怎么办>?
    【解决方案3】:

    如果你喜欢使用margin:auto,你需要设置一个宽度;

    【讨论】:

    • 不适用于具有display: inline-block; 属性的元素。
    【解决方案4】:

    您的form 有一个属性display: inline-block;,这使它的行为类似于一个内联元素。因此,您必须将text-align: center; 添加到其父级以使其水平居中。像这样:http://jsfiddle.net/bMf9M/4/

    不要忘记将表单的text-align 设置为left,否则会有居中对齐的文本。

    【讨论】:

    • 它还将内部的文本居中,我必须将其重置为 text-align: left;有没有更好的办法?
    • 我不这么认为,而不是在使用inline-block 值时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 2021-09-06
    • 1970-01-01
    • 2012-04-02
    相关资源
    最近更新 更多