中心表单提交按钮html/css

Bel*_*ish 64 html css center alignment

我在css中将html表单提交按钮置于中心时遇到了麻烦.

现在我正在使用

    <input value="Search" title="Search" type="submit" id="btn_s">
    <input value="I'm Feeling Lucky" title="I'm Feeling Lucky" name="lucky" type="submit" id="btn_i">
Run Code Online (Sandbox Code Playgroud)

用这个css

#btn_s{
    width: 100px;
    margin-left: auto;
    margin-right: auto;
}

#btn_i {
    width: 125px;
    margin-left: auto;
    margin-right: auto;
}
Run Code Online (Sandbox Code Playgroud)

而且它没有做任何事情,我知道我可能做了一些愚蠢的错误,任何人都可以帮助我吗?

谢谢

Seb*_*lli 118

http://jsfiddle.net/SebastianPataneMasuelli/rJxQC/

我只是在它们周围包裹一个div并使它对齐中心.然后你不需要按钮上的任何CSS来居中它们.

<div class="buttonHolder">
  <input value="Search" title="Search" type="submit" id="btn_s"> 
  <input value="I'm Feeling Lucky" title="I'm Feeling Lucky" name="lucky" type="submit" id="btn_i">
</div>

.buttonHolder{ text-align: center; }
Run Code Online (Sandbox Code Playgroud)

  • 实际上,这个解决方案的缺点是持有者div在其中包含*所有内容*,包括文本和儿童以及儿童的孩子......因此,当我们不这样做时,通常最好在单个元素上使用'margin:0 auto'希望整个容器居中 - 正如所指出的那样,你可以用块元素来实现.不过,偶尔我会使用这样的居中,所以它是-0来自我,因为你没有错...... (4认同)

Tom*_*Tom 29

输入元素默认为内联.添加display:block以获取要应用的边距.但是,这会将按钮分成两行.使用包装<div>text-align: center其他人的建议,让他们在同一行.

  • 我真正喜欢这个答案的一点是,它首先解释了问题发生的原因。 (2认同)

Adr*_*zyk 13

我在这里看到一些答案,其中大多数是复杂的或有一些缺点(额外的div,text-align因为display:inline-block而无效).我认为这是最简单,最无问题的解决方案:

HTML:

<table>
    <!-- Rows -->
    <tr>
        <td>E-MAIL</td>
        <td><input name="email" type="email" /></td>
    </tr>
    <tr>
        <td></td>
        <td><input type="submit" value="Register!" /></td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

CSS:

table input[type="submit"] {
    display: block;
    margin: 0 auto;
}
Run Code Online (Sandbox Code Playgroud)


Sup*_*uck 6

试试这个 :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
    <style type="text/css">
        #btn_s{
            width:100px;
        }

        #btn_i {
            width:125px;
        }
        #formbox {
            width:400px;
            margin:auto 0;
            text-align: center;
        }
    </style>
</head>
<body>
    <form method="post" action="">
        <div id="formbox">
            <input value="Search" title="Search" type="submit" id="btn_s"> 
            <input value="I'm Feeling Lucky" title="I'm Feeling Lucky" name="lucky" type="submit" id="btn_i">
        </div>
    </form>
</body>
Run Code Online (Sandbox Code Playgroud)

这有2个例子,你可以使用最符合你情况的那个.

  • 使用text-align:center父容器上,或为此创建一个容器.
  • 如果容器必须具有固定大小,请使用auto左右边距将其居中放置在父容器中.

请注意,auto通过左侧和右侧分配空白区域,单个块使用它们将它们置于父级空间中.