将输入框放在div的中心

时间:2009-08-15 07:42:58

标签: html css

我有一个div,我希望输入框放在它的中心。我怎么能这样做?

6 个答案:

答案 0 :(得分:49)

问题是输入元素是内联的。    在将它定位到中心之前我们必须阻止它(显示:块):margin:0 auto。请参阅以下代码:

<html>
<head>
    <style>
        div.wrapper {
            width: 300px;
            height:300px;
            border:1px solid black;
        }

        input[type="text"] {
             display: block;
             margin : 0 auto;
        }

    </style>
</head>
<body>

    <div class='wrapper'>
        <input type='text' name='ok' value='ok'>
    </div>    


</body>
</html>

但如果你有一个定位=绝对的div,那么我们需要做的事情有点不同。现在看到这个!

  <html>
     <head>
    <style>
        div.wrapper {
            position:  absolute;
            top : 200px;
            left: 300px;
            width: 300px;
            height:300px;
            border:1px solid black;
        }

        input[type="text"] {
             position: relative;
             display: block;
             margin : 0 auto;
        }

    </style>
</head>
<body>

    <div class='wrapper'>
        <input type='text' name='ok' value='ok'>
    </div>  

</body>
</html>

希望这会有所帮助。谢谢。

答案 1 :(得分:15)

#the_div input {
  margin: 0 auto;
}

我不确定这是否适用于'IE6',所以你可能不得不这样做。

/* IE 6 (probably) */
#the_div {
  text-align: center;
}

答案 2 :(得分:5)

您可以在输入字段中使用以下CSS:

.center-block {
  margin: auto;
  display: block;
}

现在在html中,

<div>
  <input class="center-block">
</div>

答案 3 :(得分:1)

#input_box {
    margin: 0 auto;
    text-align: left;
}
#div {
    text-align: center;
}

<div id="div">
    <label for="input_box">Input: </label><input type="text" id="input_box" name="input_box" />
</div>

或者你可以使用填充来做到这一点,但这不是一个好主意。

答案 4 :(得分:0)

试试这个网站,它会向您展示如何将内容放在div和/或文本中。 Dorward

答案 5 :(得分:0)

这是一种非常规的方式:

#inputcontainer
{
    display:table-cell; //display like a <td> to make the vertical-align work
    text-align:center; //centre the input horizontally
    vertical-align:middle; //centre the input vertically


    width:200px; //widen the div for demo purposes
    height:200px; //make the div taller for demo purposes
    background:green; //change the background of the div for demo purposes
}

它可能不是最好的方法,并且保证金不起作用,但它可以完成这项工作。如果你需要使用保证金,那么你可以将显示为表格单元格的div包装在另一个“普通”div中。

JSFiddle:http://jsfiddle.net/qw4QW/